Debian
為 Apache 2 工作伺服器池管理設置什麼值?
我最近從 Apache 2.2 prefork 切換到 Apache 2.2 worker,但我不知道從什麼開始會是一個很棒的 MPM 配置。在 prefork 上,我使用了:
MaxClients 256
StartServers 190
MinSpareServers 160
MaxSpareServers 220
我希望能夠接受至少盡可能多的同時請求 (190)
謝謝 !
PS:伺服器環境:Debian 5.0,2x 3.00 Ghz,4 GB RAM,專用於 Apache。
最後,我使用了以下執行良好的設置:
StartServers 8 MaxClients 1024 MinSpareThreads 512 MaxSpareThreads 1024 ThreadsPerChild 64 MaxRequestsPerChild 10000
我選擇了更大的值,因為記憶體佔用應該小得多。我也注意到,當使用奇怪的值執行 apachectl configtest(或啟動/停止)時,它會報告錯誤並自動調整設置。
ServerLimit 256 MaxClients 256 StartServers 19 ThreadsPerChild 10 MinSpareThreads 160 MaxSpareThreads 220 MaxRequestsPerChild 10000
這會:
- httpd啟動時啟動190個執行緒
- 最多同時處理 256 個請求
- 確保最少 160 個備用執行緒
- 最多限制 220 個備用執行緒
- 在用新的子程序替換之前,將每個 httpd 子程序限制為服務 10,000 個請求。這有助於防止在底層應用程序中存在記憶體洩漏的情況下掛起 apache 伺服器。