我在项目中使用Apache和Tomcat以及mod-jk。我的Web应用程序位于Tomcat实例中。我正在使用Apache jmeter来测试tomcat上的http加载。但我收到错误记分板已满,而不是MaxRequestWorkers ,即使有1000个主题。
[mpm_event:error] [pid 24313:tid 3075319488] AH00485: scoreboard is full, not at MaxRequestWorkers
[mpm_event:error] [pid 24313:tid 3075319488] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
我为大约5000个线程配置了http-mpm。
httd-mpm.conf文件是:
<IfModule mpm_event_module>
ServerLimit 200
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
MaxClients 5000
ThreadsPerChild 25
MaxRequestWorkers 5000
MaxConnectionsPerChild 5000
</IfModule>
有人可以指导我这个配置中可能出现的问题吗?
答案 0 :(得分:4)
似乎Apache试图优雅地完成某些进程并在执行此操作时挂起。这可能是Apache(https://bz.apache.org/bugzilla/show_bug.cgi?id=53555)的问题或应用程序本身的问题。
您可以通过查看apache的服务器状态页面轻松查看。为此,您需要启用status.conf apache模块。然后转到your-server.org/server-status。您将看到当前正在使用或正常完成的所有进程和线程(&#34; G&#34; -state)。如果你有许多不能消失的G,你就找到了问题所在。它看起来像这样:
Too many threads gracefully finishing...
解决方案非常简单。只需将MaxConnectionsPerChild设置为0或将其注释掉(mpm_event.conf)。这样做只是让进程继续工作而不重新启动它。在我们的案例中,这是一件好事,因为重新开始这个过程会让许多G的人填满记分板并最终导致Apache崩溃。
希望有所帮助。
答案 1 :(得分:0)
我有同样的问题。我尝试了不同的Apache版本和MPM。
我似乎得到了很多与MPM工作者。使用Apache 2.2.2
也不会再出现错误您使用的是cPanel吗?如果是这样尝试/ upcp --force并将StartServers增加到更高的数量,如50,就像我所做的一样,以消除此错误。
答案 2 :(得分:0)
尝试启用EnableMMAP 在00_default_settings.conf中