2016-12-26 52 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