伺服器響應時間長
我們有一個高流量的網站,高峰時有
1000
並髮使用者,最低時同時有100
使用者。平均而言,它必須40,000
訪問100,000
一天。問題是有時載入速度很慢(我們將這次命名為災難時間:)),在那段時間我們嘗試用 載入網站時Firefox
,它顯示waiting...
(我與世界各地的許多提供商一起嘗試過)我們在災難時監控伺服器
CPU load
,,,Memory Usage
是正常的。MySQL
也沒有任何查詢的慢查詢日誌1 sec
。Apache
沒有任何錯誤。iotop
沒有顯示任何導致這場災難的東西。非常有趣的是,災難時間和高峰時間沒有任何關係。有時災難發生在
300
並髮使用者和另一個不同的時間。我找不到他們之間的任何關係。如何在災難發生時追踪數據包?我想知道這場災難是我們數據中心的故障(例如上游或防火牆)還是我們的伺服器故障(例如
Apache
配置、Web 應用程序或其他我不知道的事情)。對於其他數據,只需添加評論,然後我編輯我的問題以提供您需要回答的數據。
並髮使用者/訪問的數量與系統的容量/性能無關 - 這完全與並發連接以及這些請求在做什麼有關。
將請求響應時間添加到您的伺服器日誌將是一個開始 - 如果這些不能反映問題,那麼問題可能出在網路上。我注意到您在問題中沒有提及您的網路伺服器日誌-您檢查了嗎?
您認為您的流量很大,而您的問題暗示您只有一台伺服器。為什麼?(多台伺服器會增加這種特定的複雜性,例如負載分配,但也會簡化大部分診斷,但它不會影響性能和可用性)。
跟踪連接的數量及其狀態也為診斷問題提供了必要的數據。
如何在災難發生時追踪數據包?
使用數據包擷取程序 - 這可以在從客戶端到伺服器的任何地方執行。我使用 wireshark(在 Linux、MSWindows 和其他平台上可用)
如果您提到您的伺服器正在使用什麼版本/MPM 以及它正在執行什麼作業系統,那將會很有用。