歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux配置 >> tomcat6高並發配置與優化

tomcat6高並發配置與優化

日期:2017/2/27 14:57:28   编辑:Linux配置
tomcat的server.xml配置文件說明:
server.xml配置
port="8080" protocol="HTTP/1.1"
maxThreads="30000"
minSpareThreads="512"
maxSpareThreads="2048"
enableLookups="false"
redirectPort="8443"
acceptCount="35000"
debug="0"
connectionTimeout="40000"
disableUploadTimeout="true"
URIEncoding="UTF-8" />
參數說明:
connectionTimeout 網絡連接超時,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通常可設置為30000毫秒。
keepAliveTimeout 長連接最大保持時間(毫秒)。此處為15秒。
maxKeepAliveRequests 最大長連接個數(1表示禁用,-1表示不限制個數,默認100個。一般設置在100~200之間)
maxHttpHeaderSize http 請求頭信息的最大程度,超過此長度的部分不予處理。一般8K。
URIEncoding 指定Tomcat 容器的URL 編碼格式。
acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理,默認為10個。
disableUploadTimeout 上傳時是否使用超時機制
enableLookups 是否反查域名,取值為:true 或false。為了提高處理能力,應設置為false
maxSpareThreads 最大空閒連接數,一旦創建的線程超過這個值,Tomcat 就會關閉不再需要的socket線程The default value is 50.
maxThreads 最多同時處理的連接數,Tomcat 使用線程來處理接收的每個請求。這個值表示Tomcat 可創建的最大的線程數。
minSpareThreads 最小空閒線程數,Tomcat 初始化時創建的線程數.
minProcessors 最小空閒連接線程數,用於提高系統處理性能,默認值為10。
maxProcessors 最大連接線程數,即:並發處理的最大請求數,默認值為75

提高Tomcat的並發能力一些方法
1、Apache + Tomcat 結合起來用Apache 負責靜態頁面,Tomcat負責動態頁面,同時減少connectionTimeout的時間,以應對並發量大線程回收來不及的情況。
2、壓力過大的問題,可以做負載均衡,一個TOMCAT無論如何也不可能擔當如此多的線程負載,而且JVM過大,其內存管理成本將顯著加大。2G的內存,做3-4個TOMCAT實例(512RAM*4),更為科學合理。
3、數據庫連接池,不少人,都推薦使用C3P0,能提高訪問數據庫的並發性能好幾倍。(有博文稱使用tomcat自帶的jdbc-pool更好,還沒試過)
4、采用Tomcat集群可以最大程度的發揮服務器的性能,可以在配置較高的服務器上部署多個Tomcat,也可以在多台服務器上分別部署 Tomcat,Apache和Tomcat整合的方式還是JK方式。經過驗證,系統對大用戶量使用的響應方面,Apache+3Tomccat集群> Apache+2Tomcat集群> Apache集成Tomcat >單個Tomcat。並且采用Apache+多Tomcat集群的部署方式時,如果一個Tomcat出現宕機,系統可以繼續使用,所以在硬件系統性能足夠優越的情況下,需要盡量發揮軟件的性能,可以采用增加Tomcat集群的方式。
5. 打開KeepAlive支持
KeepAlive on, KeepAliveTimeout 15 MaxKeepAliveRequests 1000
根據實際經驗,通過Apache和Tomcat集群的方式提高系統性能的效果十分明顯,這種方式可以最大化的利用硬件資源,通過多個Tomcat的處理來分擔單Tomcat時的壓力。
web server允許的最大連接數還受制於操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。
Copyright © Linux教程網 All Rights Reserved