tomcat高併發優化的參數優化並查看tomcat線程數

在Tomcat配置文件conf下面 server.xml 中的配置中和鏈接數相關的參數有:html

minProcessors:最小空閒鏈接線程數,用於提升系統處理性能,默認值爲10java

maxProcessors:最大鏈接線程數,即:併發處理的最大請求數,默認值爲75apache

acceptCount:容許的最大鏈接數,應大於等於maxProcessors,默認值爲100tomcat

enableLookups:是否反查域名,取值爲:true或false。爲了提升處理能力,應設置爲false網絡

connectionTimeout:網絡鏈接超時,單位:毫秒。設置爲0表示永不超時,這樣設置有隱患的。一般可設置爲30000毫秒。併發

參數修改負載均衡

默認的tomcat 參數:異步

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改: socket

<Connector port=「8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />

參數說明:性能

protocol="org.apache.coyote.http11.Http11NioProtocol" 使用java的異步io護理技術,no blocking IO

maxThreads=「600" 表示最多同時處理600個鏈接最大線程數

minSpareThreads=「100" 表示即便沒有人使用也開這麼多空線程等待,初始化時建立的線程數

maxSpareThreads=「500" 表示若是最多能夠空500個線程,例如某時刻有505人訪問,以後沒有人訪問了,則tomcat不會保留505個空線程,而是關閉5個空的。 一旦建立的線程超過這個值,Tomcat就會關閉再也不須要的socket線程。

acceptCount="700" 指定當全部能夠使用的處理請求的線程數都被使用時,能夠放處處理隊列中的請求數,超過這個數的請求將不予處理

 

ajp協議優化

若是使用apache和tomcat作集羣的負載均衡,而且使用ajp協議作apache和tomcat的協議轉發,須要優化ajp connector。<Connector port="8009" protocol="AJP/1.3" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" connectionTimeout="20000" redirectPort="8443" />

 

查看tomcat線程數:

獲取tomcat進程pid 
ps -ef|grep tomcat

統計該tomcat進程內的線程個數 ps -Lf 29295 |wc -l

相關文章
相關標籤/搜索