Apache 不能创建超过 400 个工人

Apache can't create more than 400 workers

我有一个应该处理大约 800 个同时连接的网络服务器。 为此,我在工作模式下(在 Centos 6 上)配置了 Apache 2.4,并使用以下值:

服务器限制 40 启动服务器 25 最大客户端 1000 MinSpareThreads 25 最大备用线程数 75 最大请求工人数 1000 线程数 25 MaxConnectionsPerChild 0

但是,当我检查服务器状态时,我无法同时看到超过 400 个工作人员。 在 error_log 文件中,我可以看到:“[mpm_worker:error] [pid 2559:tid 140190319810368] AH00286:服务器已达到 MaxRequestWorkers 设置,请考虑提高 MaxRequestWorkers 设置”,但增加此值有没有效果。 (每次更改配置文件后使用 stop/start apache)。 我检查了 ulimits,对于 apache 用户,nproc 的值是 2048。 我提到 Apache 是我编译的,我在编译时没有明确设置任何限制。

造成此限制的原因可能是什么?

所以我找出了导致问题的原因。在 httpd.conf 中,worker 模块的设置是在加载模块之前声明的,因此它们被 apache 忽略了。将它们移到 "LoadModule" 部分后解决了问题。