2016-12-26 55 views
1

我有一個應該處理大約800個同時連接的網絡服務器。 爲此,我已經在工人模式(在CentOS 6)與該值配置了Apache 2.4:Apache無法創建超過400名工作人員

了ServerLimit 40個 StartServers的25個 MaxClients的1000 MinSpareThreads 25個 MaxSpareThreads 75個 MaxRequestWorkers 1000 ThreadsPerChild的25 MaxConnectionsPerChild 0

但是,當我檢查服務器狀態時,我無法同時看到超過400名工人。 在error_log文件中,我可以看到:「[mpm_worker:error] [pid 2559:tid 140190319810368] AH00286:服務器達到MaxRequestWorkers設置,考慮提高MaxRequestWorkers設置」,但增加此值無效。 (在每次配置文件更改後停止/啓動apache)。 我檢查了ulimits和apache用戶nproc的值是2048.我提到Apache是​​由我編譯的,我沒有在編譯時明確設置任何限制。

這種限制的原因是什麼?

+0

如果您在apache2.conf中設置MaxRequestWorkers,請提醒它被/etc/apache2/mods-available/mpm_prefork.conf – gile

回答

1

所以我想清楚是什麼導致了這個問題。在httpd.conf中,worker模塊的設置是在加載模塊之前聲明的,所以它們被apache忽略。在「LoadModule」部分之後移動它們可以解決問題。

+0

覆蓋。這與之前建議的模塊配置中的設置相同。 – gile