apache http server2.2 + tomcat5.5 性能調優

httpd加tomcat作負載均衡,採用session複製方式共享session,採用http-proxy鏈接方式,打開status modhtml

1、沒有作httpd和tomcat的啓動參數修改,包括jvm內存和鏈接數限制的修改windows

用ab測試:-n2650 -c265 http://localhost/test/page1.html。沒有問題,吞吐量爲290kb左右。tomcat

再測試:-n2660 -c266 http://localhost/test/page1.html。session

 報錯:併發

Completed 266 requests負載均衡

Test aborted after 10 failuresjvm

apr_socket_connect(): 因爲目標機器積極拒絕,沒法鏈接。 (730061)
Total of 448 requests completed
估計是httpd默認最大線程數是265。socket

2、調整httpd的httpd.conf裏的參數,找到#Include conf/extra/httpd-mpm.conf,將其註釋去掉,引入mpm_winnt_module來作MPM,將httpd-mpm.conf中mpm_winnt_module裏的參數調整爲:測試

ThreadsPerChild 1920
MaxRequestsPerChild 0spa

注意,通常windows系統每一個進程能夠啓動的最大線程數爲1920個,也就是ThreadsPerChild最大值爲1920。測試結果能夠支持到1000個併發,吞吐量爲200kb左右。1200個併發系統報錯:

 

到目前爲止還沒找到能夠支持1200個併發以上的方法。。。。

3、對兩個tomcat jvm參數進行設置,min 480m, max 480m

結果能夠支持1000個併發,吞吐量仍是200kb左右。

附:tomcat配置文件中鏈接參數:

maxThreads="600" ///最大線程數 minSpareThreads="100"///初始化時建立的線程數 maxSpareThreads="500"///一旦建立的線程超過這個值,Tomcat就會關閉再也不須要的socket線程。 acceptCount="700"//指定當全部能夠使用的處理請求的線程數都被使用時,能夠放處處理隊列中的請求數,超過這個數的請求將不予處理

相關文章
相關標籤/搜索