Linux 上的 Apache2 - 如何追踪性能問題
我在這個話題上停留了一段時間:如何獲得有關響應時間消耗的更多詳細資訊。
我的問題是響應時間的極端差異。有時伺服器需要 5 或 10 秒或更長時間才能響應(尤其是第一次呼叫)。Firebug 將這個時間標記為“等待”。當我檢查 localhost/server-status (也發生此延遲)時,大多數插槽都被佔用了 - 但半秒後,它們又是空閒的。我很難想像有這麼多的負載峰值來解釋這種行為。
另一件奇怪的事情:有 100K JPG 圖像的請求有時 - 根據伺服器狀態 - 需要 1、2 甚至 10 秒才能執行(列 Req)。同時,包含一些 CPU 負載的 PHP 腳本在 100 毫秒或更短的時間內處理(當然,其他也需要 1 或 2 秒)。對其他(較小的)GIF 或 PNG 圖像的請求甚至以 0 毫秒的時間列出。
**這就是我卡住的地方:**有什麼方法可以查看發送一個簡單的 JPG 圖像需要 10 秒嗎?
謝謝你的好主意!
**系統:**我說的是 Debian Linux (Sequeeze) 上的 Apache 2 網路伺服器,它主要提供 PHP 腳本頁面和圖像。該伺服器在專業的德國伺服器託管商的 VPS 上執行。伺服器上沒有記憶體交換(據我從統計數據中可以看出)並且 CPU 負載不是特別高(正常執行時間報告的值在 3 左右,在極端負載下可以上升到 32 左右 - 我認為應該是 8 -CPU系統)。當然,我永遠無法確定伺服器上的其他 VPS 是做什麼的。
**特殊設置:**值得注意的是,伺服器通過 SSL 發送所有數據。我進一步將保持活動時間減少到 1 秒,因為使用者通常在每個頁面上花費大量時間(30-60 秒),並且在檢索圖像後保持這些連接活動會很快耗盡伺服器的記憶體(或2 GB 我可以在 VPS 上使用)。由於 PHP 腳本較大,一個典型的執行緒會佔用 20 MB 的 RAM。因此只有 50 個伺服器插槽 (MaxClient),其中 35 個支持保持連接。
**材料:**我創建了一個測試頁面(https://www.soscisurvey.de/example/?debug&password=demo),由伺服器 site24x7.com 觀察(通常在 1.4 秒內響應,但通常會有高達 20 或30秒)。為了交叉檢查結果,我將其發送到 Load Impact es: http: //loadimpact.com/load-test/www.soscisurvey.de-35648bef3b84d3269e1fc7cb11bf1721
將其添加為答案而不僅僅是評論,因為事實證明這是
這個問題聽起來像是磁碟延遲問題。有一些原因我認為這是問題所在
- 響應時間變化很大,標準負載指示器沒有警告信號。
- 託管在經常超賣的 VPS 上,並由 NAS/SAN 磁碟支持
- 其他試圖解決這個問題的嘗試都沒有結果
由於您無法控制硬體,因此解決此問題的方法有限。您可以聯繫提供商讓他們嘗試修復它,使用 RAM 支持的文件系統或記憶體記憶體(您已嘗試過),或切換提供商。