tomcat默認參數並不適合生產環境使用,因此需要修改一些參數,下面做一個詳細介紹
1.JVM優化:
vim /server/apache-tomcat-7.0.79/bin/catalina.sh
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m"
2.線程池及Connector參數配置
<Connector port="8080" protocol="HTTP/1.1"
maxPostSize="-1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
acceptCount="1000"
connectionTimeout="3000"
URIEncoding="utf-8"
redirectPort="8443"
disableUploadTimeout="true" />
"maxPostSize"該參數限制了post方式上傳文件的大小,當maxPostSize<=0時,POST方式上傳的文件大小不會被限制,maxPostSize參數只有當request的Content-Type爲“application/x-www-form-urlencoded”時起作用。
"maxHttpHeaderSize"來自於客戶端請求的Request和Response的HTTP,http請求頭信息的最大程度,超過此長度的部分不予處理,一般8K。
"maxThreads"客戶請求最大線程數,Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數。
"minSpareThreads"最小空閒線程數,Tomcat初始化時創建的 socket 線程數.
"maxSpareThreads"最大連接線程數,即:併發處理的最大請求數,默認值爲75,一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。
"minProcessors"最小空閒連接線程數,用於提高系統處理性能,默認值爲 10。
"acceptCount"允許的最大連接數,應大於等於 maxProcessors ,默認值爲 100。
"enableLookups"若設爲true, 則支持域名解析,可把 ip 地址解析爲主機名,爲了提高處理能力,應設置爲false。
"compression"打開壓縮功能。
"compressionMinSize "啓用壓縮的輸出內容大小,這裏面默認爲2KB
"compressableMimeType"壓縮類型。
"connectionTimeout"網絡連接超時,單位:毫秒。設置爲 0 表示永不超時,這樣設置有隱患的。通常可設置爲 30000 毫秒。
"URIEncoding"URL統一編碼 。
"redirectPort"這裏系統默認的,它指定轉發端口,如果當前只支持non-SSL請求,在需要安全通信的場所,將把客戶請求轉發至SSL的redirectPort端口。
"disableUploadTimeout"上傳時是否使用超時機制,如果不指定,該屬性爲“false”。
上述配置讀者可通過實際業務需求進行調整,達到tomcat性能最優,關於更多tomcat詳細部署讀者可參考筆者的該篇文章,希望能有所幫助: