Tomcat中server.xml配置中提供連接配接池功能,以及并發情況下通路數量增多,導緻伺服器壓力較大,甚至可能由于線程數量、連接配接數配置設定不合理導緻伺服器崩潰,是以我們需要修改伺服器部分參數。(我的硬體配置為4核16G,同時并發人數為100-800人沒有問題)
在Tomcat配置檔案server.xml的配置中,和連接配接數相關的參數有:
minProcessors:最小空閑連接配接線程數,用于提高系統處理性能,預設值為10
maxProcessors:最大連接配接線程數,即:并發處理的最大請求數,預設值為75
acceptCount:允許的最大連接配接數,應大于等于maxProcessors,預設值為100
enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應設定為false
connectionTimeout:網絡連接配接逾時,機關:毫秒。設定為0表示永不逾時,這樣設定有隐患的。通常可設定為30000毫秒。 其中和最大連接配接數相關的參數為maxProcessors和acceptCount。如果要加大并發連接配接數,應同時加大這兩個參數。 web server允許的最大連接配接數還受制于作業系統的核心參數設定,通常Windows是2000個左右,Linux是1000個左右。
1、我整理的最終版配置檔案如下,僅供參考:
maxThreads="1000" minSpareThreads="100"
maxSpareThreads="1000" />
port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
connectionTimeout="20000"
disableUploadTimeout="ture"
redirectPort="8443" />
2、Tomcat 路徑bin/startup.sh 配置JVM虛拟機占用記憶體
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn2048m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
3、并發測試結果
注意:平均響應時間和程式寫法有很大關系,是以需要良好的代碼