為何CPU卻偶爾跳100%呢?
不知道大家有沒有遇到一個問題,就是伺服器CPU經常會跳100%,但是網站卻其實卻沒什麼訪問量,檢視伺服器頻寬也是正常的,那為何CPU卻偶爾跳100%呢?
經過排查發現來自網站的資料庫請求併發非常高,連線中的經常達200 ,也就是這導致了伺服器一但有了稍微高一點的訪問量,就會出現CPU100%%的情況。
找到原因後我們要怎麼解決呢? 當然是合理分配資源,寶塔面板為例,進入軟體商店,找到mysql資料庫,進入設定
找到效能調整,根據自己的伺服器配置選擇相應的優化方案,比如我的是4G記憶體的,那麼就選2-4G,可以選小的方案,但不要選大的,因為這樣只會讓資料庫保持連線超過你伺服器的承受範圍,影響伺服器效能。
選擇完儲存後,我們再進入PHP設定,效能調整,網站如果每天只有2000 IP訪問量的,建議選50或者100併發,這裡寫的併發是讓你的伺服器一但達到這麼多併發了,系統會自動清除掉程序,達到伺服器優化目的,所以不是設定越大越好,因為一但你併發達56百的時候,系統卻沒有清除程序,一般伺服器是受不住的,會出現卡慢設定打不開的狀態,所以選擇合適自己伺服器配置的優化狀態很重要,就是選100併發的。
設定完後,通過一週的觀察沒有再出現卡慢的情況了,CPU也不會跳100%了。
以上都是在非被攻擊的情況下設定有效,如果你是被人CC攻擊的,那麼還是給自己弄個高防CDN吧。