您調試網頁伺服器以解決停機的效能問題的過程是什麼?

您調試網頁伺服器以解決停機的效能問題的過程是什麼?

不幸的是,這是一個有點模糊的問題。但我時不時就會面對一個。

現在我的伺服器是完全託管的 CentOS 5 - Plesk 9.2.1。

最近幾天,伺服器不斷卡住,apache(或)mysql或兩者似乎都顯著減慢,頁面沒有返回或返回速度非常慢,重新啟動mysql有幫助,有時重新啟動apache有幫助,而其他人我需要重新啟動整個伺服器(SSH 開始運行速度確實很慢)。

所以我的問題是,您調試網路伺服器以解決停機時的效能問題的過程是什麼?

我認為伺服器沒有獲得太多流量(儘管它獲得了穩定的流量)某物看來要殺了…

我從哪裡說起呢!

幫助!

答案1

您是否在 MySQL 上嘗試過某種形式的查詢分析?如果您執行非常密集的查詢,例如SELECT * FROM tbl1 INNER JOIN tbl2 ... INNER JOIN tbl3... LEFT JOIN tbl 4... 作為一個非常基本但明顯的範例,並且您返回大量行,或者您的查詢沒有正確索引,這會大大降低你的系統速度 - 我從我沒有優化的經驗不足的日子中學到了教訓;-)

mysqlreport 和tuning-primer.sh 腳本等工具是很好的起點。 mysqlreport 位於http://hackmysql.com/mysqlreport,我只能發布 1 個鏈接,因此 Google 搜尋“tuning-primer.sh”:-)

答案2

Bernhard 的回答很好,但我建議你跳過 sysstat 並直接進入穆寧。透過負載的圖形表示,可以更容易地弄清楚您是否正在交換[太多的apache進程? ],是否正在浪費磁碟[優化不佳的sql查詢,太大的臨時表? ]、CPU 電量耗竭等。

為 mysql 打開慢查詢日誌

答案3

您應該先安裝 sysstat 軟體包。它將每 10 分鐘創建一次有關 CPU、記憶體和 I/O 負載的統計資料。當伺服器再次開始變慢時,您可以查看「sar」公用程式(程式包的一部分)的輸出,以確定哪些資源是實際瓶頸。

相關內容