jmeter测试 - 发送300个线程,但事务最多只有40 / s?

时间:2011-12-14 03:00:50

标签: apache jmeter

我一直在用JMETER做一些负载测试。有些事让我感到困惑。

我一直在尝试向http请求apache webserver发送300个线程。然而,事务/秒从未达到40以上。是否有一些apache配置,如最大连接或最大线程需要打开,以便可以进行可靠的300线程测试?

CPU利用率也从未超过5%(服务器为8核心)。

1 个答案:

答案 0 :(得分:2)

你是对的,有一些。

您应该正确设置以下内容:

  
      
  • for Apache: MaxClients + ServerLimit
  •   
  • for Tomcat: maxThreads + acceptCount (AJP / HTTP连接器)
  •   

Tomcat在Connector配置文件中有两个设置(... / tomcat / conf / server.xml):

  • maxThreads - 请求处理线程的最大数量 由HTTP连接器创建,因此确定最大值 可以处理的同时请求数;
  • acceptCount - 所有中的传入连接请求的最大队列长度 可能的请求处理线程正在使用中。收到任何请求 当队列已满时将被拒绝。

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。