Apache-2.2

高流量期間 Apache 延遲請求網頁

  • August 8, 2011

我有一台執行 CentOS 5、MySQL 5.1 和 PHP 5.2 的伺服器。我有一個問題,我不確定從哪裡開始進行故障排除。似乎在高流量期間,Apache 在檢索請求的網頁時偶爾會出現延遲(或超時)。基本上,我訪問一個頁面,它只是掛起獲取它。

問題是雖然之後我可以毫無問題地訪問100頁,所以很難重複。我認為原因是配置不當,不允許同時連接到 Apache 或 MySQL。

你能否給我一些關於我可以測試的東西的提示,以嘗試排除一些可能的原因?

你可以看幾件事:

  • top檢查低負載和高負載期間的輸出。在低負載期間查看它以了解一切執行良好時的情況,並將它們與高負載統計數據進行比較。查看以下內容:記憶體消耗、CPU 使用率、IO 使用率、哪些程序正在使用記憶體/CPU、是否有任何程序處於“不間斷睡眠”(統計數據列中的“D”)。
  • 用於netstat查看在高負載時間內是否收到大量傳入請求。尋找大量具有相同 IP 的連接。
  • freevmstat並且iostat可以給你更多關於記憶體和IO的資訊。特別要確保您沒有使用任何虛擬記憶體。
  • 啟用 Apache 的伺服器狀態並檢查伺服器在高負載期間正在做什麼。這也可以告訴您單個客戶端是否行為不端(查找具有相同 IP 的多個請求)。
  • 如果可能,您可以嘗試使用 ApacheBench (ab) 之類的基準測試程序來測試您的站點並嘗試複製問題。
  • /var/log/檢查包括 Apache、MySQL、系統日誌等在內的相關日誌文件,以查看任何明顯的錯誤或警告消息。

引用自:https://serverfault.com/questions/298903