「抵擋爬蟲」修訂間的差異

出自跨校選修
跳至導覽 跳至搜尋
行 2: 行 2:
 
[[Cloudflare]]頁中有「抵擋爬蟲」的段落
 
[[Cloudflare]]頁中有「抵擋爬蟲」的段落
 
===DS720+ 檢測===
 
===DS720+ 檢測===
 +
# netstat -ant | awk '{print $6}' | sort | uniq -c 回應
 +
      1 established)
 +
    23 ESTABLISHED
 +
      2 FIN_WAIT1
 +
      2 FIN_WAIT2
 +
      1 Foreign
 +
      2 LAST_ACK
 +
    32 LISTEN
 +
      3 SYN_RECV
 +
    961 TIME_WAIT
 +
 +
      1 established)
 +
    41 ESTABLISHED
 +
      1 Foreign
 +
    32 LISTEN
 +
    985 TIME_WAIT
 +
 +
# 列出 cpu 佔用的前 20 名:「ps aux --sort=-%cpu | head -20」<br/>發現主要是 mariadbd 和數個 php-fpm worker =>  11MB/s 寫入量來自「MediaWiki → PHP → MariaDB」鏈條
  
 
====檢查儲存裝置被頻繁寫入====
 
====檢查儲存裝置被頻繁寫入====

於 2026年6月5日 (五) 15:53 的修訂

Cloudflare頁中有「抵擋爬蟲」的段落

DS720+ 檢測

  1. netstat -ant | awk '{print $6}' | sort | uniq -c 回應
     1 established)
    23 ESTABLISHED
     2 FIN_WAIT1
     2 FIN_WAIT2
     1 Foreign
     2 LAST_ACK
    32 LISTEN
     3 SYN_RECV
   961 TIME_WAIT

     1 established)
    41 ESTABLISHED
     1 Foreign
    32 LISTEN
   985 TIME_WAIT
  1. 列出 cpu 佔用的前 20 名:「ps aux --sort=-%cpu | head -20」
    發現主要是 mariadbd 和數個 php-fpm worker => 11MB/s 寫入量來自「MediaWiki → PHP → MariaDB」鏈條

檢查儲存裝置被頻繁寫入

發現儲存裝置有 11MB/s 寫入量

  1. 查資料庫請求的增量:「SHOW GLOBAL STATUS LIKE 'Questions';」 60 秒後 再執行一次,看增加多少 => 60 秒增加:76491 => 約 1,275 queries / 秒
  2. 查是哪些請求:「SHOW FULL PROCESSLIST;」秀出運行中的全部請求
    如果太多,先用這個:
    ---------- information_schema 資料庫中的 PROCESSLIST 資料表 ----------
    • SELECT ID,USER,DB,COMMAND,TIME,STATE,LEFT(INFO,300) AS SQL_TEXT FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND<>'Sleep' ORDER BY TIME DESC;
      也查資料庫連線來源:
    • SELECT USER,DB,COMMAND,COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY USER,DB,COMMAND ORDER BY COUNT(*) DESC;
    • 查到:
      REPLACE /* SqlBagOStuff::updateTable */ INTO `wiki_objectcache` (keyname,value,exptime) VALUES ('alWiki:messages:zh-tw','………','20380119031407')
    11MB/s 寫入的原因很明確:objectcache 一直被 REPLACE
    ---------- 查快取是否使用 wiki_objectcache ----------
  3. SELECT COUNT(*) FROM wiki_objectcache; 等一分鐘再查一次,如果數量持續增加,是使用 wiki_objectcache
  4. 看 SHOW TABLE STATUS LIKE 'wiki_objectcache'; 中的:
    • Data_length
    • Index_length
    • Update_time
  5. 清快取表:「TRUNCATE TABLE wiki_objectcache;」
  6. sudo synopkg restart MariaDB10 重啟資料庫服務
  7. sudo synopkg restart WebStation 重啟網頁服務
  8. sudo synosystemctl restart pkgctl-WebStation 只重啟 PHP-FPM