Apache-2.2

Apache - 總是執行大量 httpd 程序的缺點

  • September 1, 2015

始終執行大量備用 httpd 程序是否有任何問題?我進行了一項測試,我增加了 1,000,StartServersMinSpareServers測量了記憶體使用量的增加,它只有 500MB。

鑑於此,我在想,既然我們有很多 RAM,為了在突發流量期間獲得最佳性能,我們不妨將其StartServers設置MinSpareServers為 1,000 左右,當然還要設置ServerLimitMaxRequestWorkers(以前MaxClients)設置為更高的值。

MaxConnectionsPerChild假設我們的伺服器能夠一次處理這麼多請求並且我們將其用作防止記憶體洩漏的預防措施,這樣做有什麼我不知道的缺點嗎?

作為任何認為每個 httpd 程序 0.5MB 不正確的人的旁注,據我所知,Apache 記憶體使用量遠低於單個程序報告的原因top是它使用共享庫。

我擔心你的測試方法。看來您只是在生成一大堆程序,然後查看它們的記憶體使用情況。問題在於,當它們第一次生成時,它們共享最大數量的記憶體,並且沒有儲存任何本地的、每個程序的數據。

當您開始實際使用它們時,您會發現這些程序開始需要更多記憶體。即使在沒有記憶體洩漏的情況下也是如此,但是如果您使用任何洩漏的擴展,問題就會變得非常糟糕,非常快。

我建議在各種條件下進行大量實際負載測試,然後再讓這樣的配置在沒有密切監督的情況下執行。

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