Apache-2.2

什麼可能導致 Apache 過載

  • November 25, 2012

我有兩台通過 LAN 連接的伺服器。一個是 Apache,它處理和執行所有 php 請求。另一個只有 MySQL,有一個 11 GB 的數據庫。

當我們有大約 10.000 個線上使用者時,幾天內一切正常(負載約為 1.0)。當這個數字達到 ~20.000 時,Apache 的負載往往非常高,大約為 1.000(最高 3.000),而 MySQL 負載保持在 2.0-3.0 左右……

另一方面,MySQL 充滿了未完成的查詢和休眠程序。

我們還有一個 HTML 記憶體引擎,它生成緩衝區輸出的 .html,並將其保存在伺服器上。一個文件夾中大約有 50.000 個 .html 文件…

你們怎麼看,為什麼 Apache 負載飆升,而 MySQL 卻保持平靜?

在解決問題之後,我如何測試哪些流程花費的時間最多以及如何線上模擬 20.000 人?

我使用blitz.io來模擬極端的線上流量。

Apache 不被認為是用於高流量站點的最佳 Web 伺服器。Nginx 或 litespeed 會更好,因為 Apache 是基於程序的伺服器,而 nginx 是基於事件的 Web 伺服器。

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