1. <Connectorport="8080"protocol="HTTP/1.1"web
2. maxThreads="30000"數據庫
3. minSpareThreads="512"tomcat
4. maxSpareThreads="2048"服務器
5. enableLookups="false"網絡
6. redirectPort="8443"併發
7. acceptCount="35000"負載均衡
8. debug="0"socket
9. connectionTimeout="40000"性能
10. disableUploadTimeout="true"編碼
11. 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
個左右。