標籤:伺服器 訪問慢 負載高 排錯
如果以後出現警示各網站無法ping通,或者伺服器負載過高,可通過以下幾條途徑尋找原因:
1,查看訪問日誌,查看是否有訪問異常,如有,過濾IP,進行IP封裝
cat access.log | awk ‘{print $1}’ | sort | uniq –c | sort –n >/tmp/ip.txt netstat -ntu | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort –n
2,查看網卡是否有嚴重丟包現象,ifconfig查看dropped 或error是否不斷增加,判斷是否網卡出現問題。
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘
查看各階段串連狀況
SYN_SENT(請求串連) ESTABLISHED(通訊中)狀態的是否串連明顯太多
netstat -n | grep "ESTABLISHED"|awk ‘{print $5}‘|sort |uniq -c|sort -nr
如發現處於本狀態最多的ip是本機,從而排除是dos攻擊的可能
Ifconfig
查看dropped 或error是否不斷增加,判斷是否網卡出現問題。
3,如果日誌總是涉及某個項目,查看最近是否有新上線活動或者更新,確定是否程式碼出現問題
4,將有問題的項目分別綁定各相關前端機,查看是否訪問正常,排除故障伺服器
5,查看佔用負載較高的一些進程是被哪些程式或應用佔用
top
查看系統負載和佔用資源較高的進程
Lsof –p pid號
查看pid被哪些進程使用
6,查看PHP等主要應用程式連接埠使用方式,是否被佔用
Lsof –i:連接埠
7,查看PHP的慢日誌,是否有程式檔案逾時,頻繁報錯
Php-fpm.conf 開啟php設定檔 Request_slow_log_timeout 10s
設定執行逾時時間
8,如果上述尋找發現問題有關mysql,查看mysql最大串連數是否過低
show variables like ‘max_connections‘; set GLOBAL max_connections=300