2011-12-14 84 views
1

我一直在用JMETER進行一些負載測試。有些事情讓我感到困惑。jmeter測試 - 發送300個線程,但交易只有40/s最大?

我一直在試圖發送300線程的HTTP請求Apache Web服務器。然而,事務/秒永遠不會達到40以上。是否有一些apache配置,如最大連接或最大線程需要打開,以便可以做一個穩定的300線程測試?

CPU利用率也從未達到5%以上(服務器是8核心)。

回答

2

你說得對,有一些。

,則應該設置適當以下:

  • 爲Apache:的MaxClients +了ServerLimit
  • 爲Tomcat:maxThreads + acceptCount(AJP/HTTP連接器)

Tomcat在連接器配置文件中有兩個設置(.../tomc在/ 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的更大。

+0

太棒了!謝謝!在找到我的服務器運行prefork MPM之後,我將添加ServerLimit 512和Max Client 512,KeepAlive On KeepAliveTimeOut 2,以便我可以進一步測試500個線程並確定服務器性能。我想知道是否還有其他需要設置的設置。 – flyclassic 2011-12-15 01:35:52