我一直在用JMETER做一些负载测试。有些事让我感到困惑。
我一直在尝试向http请求apache webserver发送300个线程。然而,事务/秒从未达到40以上。是否有一些apache配置,如最大连接或最大线程需要打开,以便可以进行可靠的300线程测试?
CPU利用率也从未超过5%(服务器为8核心)。
答案 0 :(得分:2)
你是对的,有一些。
您应该正确设置以下内容:
- for Apache: MaxClients + ServerLimit
- for Tomcat: maxThreads + acceptCount (AJP / HTTP连接器)
Tomcat在Connector配置文件中有两个设置(... / tomcat / conf / server.xml):
Apache设置:
您可以在../conf/extra/文件夹中的httpd-mpm.conf和/或httpd-mpm.conf_2.0中设置最后两个,或者添加到httpd.conf,如下所示:
<IfModule mpm_prefork_module>
. . .
ServerLimit 350
MaxClients 350
</IfModule>
请注意,ServerLimit值定义MaxClients值的上限,因此ServerLimit应该等于或大于MaxClients。