1.位置:
(1)/opt/tomcat7/conf下的server.xml文件中<Connector>節點的配置優化,記得先備份。
(2)出廠默認(在server.xml文件中的74行左右,用我們的配置替換現在的配置即可)

2.優化:
(1)標准版:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />
(2)復雜版:
<Connector port="8080"
protocol="HTTP/1.1"
URIEncoding="UTF-8"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
disableUploadTimeout="true"
connectionTimeout="20000"
acceptCount="300"
maxThreads="300"
maxProcessors="1000"
minProcessors="5"
useURIValidationHack="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/JavaScript,text/css,text/plain"
redirectPort="8443"/>
3.參數逐項說明
(1)URIEncoding=”UTF-8”
使得tomcat可以解析含有中文名的文件的url
(2)minSpareThreads
最小備用線程數,tomcat啟動時的初始化的線程數,默認10.
(3)maxSpareThreads
最大備用線程數,tomcat啟動時的初始化的線程數,
使得tomcat可以解析含有中文名的文件的url
(2)minSpareThreads
最小備用線程數,tomcat啟動時的初始化的線程數,默認10.
(3)maxSpareThreads
最大備用線程數,tomcat啟動時的初始化的線程數,
(4)enableLookups
如果希望調用request.getRemoteHost()進行DNS查詢,以返回遠程客戶的實際主機名,將enableLookups設為true。
如果希望忽略DNS查詢,僅僅返回IP地址,設為false(這樣提高了性能), 缺省情況下,DNS查詢是使能的。
一句話:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false
(5)disableUploadTimeout
disableUploadTimeout="true",
類似於Apache中的keeyalive一樣,是否需要tomcat容器單獨設置上傳時間限制,這里是不用,還是使用標准的,不去給上傳的附件單獨做超時設置。
(6)connectionTimeout
connectionTimeout:網絡連接超時,單位毫秒。設置為 -1 表示永不超時。
(7)acceptCount
acceptCount是當線程數達到maxThreads后,后續請求會被放入一個等待隊列,這個acceptCount是這個隊列的大小,如果這個隊列也滿了,就直接refuse connection.
一句話:acceptCount:當處理任務的線程數達到最大時,接受排隊的請求個數,默認100。
(8)maxThreads
maxThreads:最大線程數,即同時處理的任務個數,默認值為200 , Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數,即最大並發數。保守推薦:600---900。
(9)maxProcessors
與下面minProcessors相對應,具體解釋看下面。
(10)minProcessors
在 Java中線程是程序運行時的路徑,是在一個程序中與其它控制線程無關的、能夠獨立運行的代碼段。它們共享相同的地址空間。多線程幫助程序員寫出CPU最大利用率的高效程序,使空閑時間保持最低,從而接受更多的請求。通常Windows是1000個左右,Linux是2000個左右。
(11)useURIValidationHack
減少它對一些url的不必要的檢查從而減省開銷,為提供性能可以設置為false
(12)compression
compression :設置是否開啟GZip壓縮
HTTP 壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求網頁后,從服務器端將網頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。相對於普通的瀏覽過程HTML,CSS,Javascript , Text ,它可以節省40%左右的流量。更為重要的是,它可以對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率驚人。
(13)compressionMinSize
compressionMinSize="2048" 啟用壓縮的輸出內容大小,這里面默認為2KB
(14)compressableMimeType
compressableMimeType:哪些類型需要壓縮,默認是text/html,text/xml,text/plain
4.超時控制:
修改conf/web.xml文件配置,設置session-timeout的值(單位:分鍾)
5.最后不要忘了把8443端口的地方也加上同樣的配置,因為如果我們走https協議的話,我們將會用到8443端口這個段的配置。
