我有一个非常好的服务器,它运行一个带有 mod_jk 的 Apache 实例,用于将请求代理到应用程序服务器。
我正在做负载测试,虽然我发送了 600 多个请求,但状态工作者一直显示:
当前正在处理 256 个请求,0 个空闲工作人员
我正在使用'prefork MPM'
<IfModule prefork.c>
ServerLimit 2048
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 1000
MaxRequestsPerChild 0
</IfModule>
Apache 是否存在仅处理 256 个请求的编译限制,或者我会丢失什么?
卡米尔,不,它没有。MaxClients 可以低于 ServerLimit。您可以将 MaxClients 增加到 ServerLimit,并且可以通过正常重启来完成调整。要增加 ServerLimit,您必须完全重新启动。
使用 --mpm=worker 编译
如果您阅读MaxClients 的文档,您会注意到它提到您还需要将 ServerLimit 设置为等于 MaxClients 的值。我认为这就是你所缺少的。