更新時(shí)間:2020-12-09 17:28:05 來源:動力節(jié)點(diǎn) 瀏覽1341次
Tomcat服務(wù)器作為一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,在Java開發(fā)領(lǐng)域被廣泛應(yīng)用。當(dāng)然,Tomcat屬于輕量級應(yīng)用服務(wù)器,在處理一些高并發(fā)的大型系統(tǒng)方面還力有不足,此時(shí),Tomcat服務(wù)器優(yōu)化就顯得至關(guān)重要了。
Tomcat服務(wù)器優(yōu)化主要有以下幾個(gè)方面:
一、Tomcat內(nèi)存優(yōu)化
Tomcat內(nèi)存優(yōu)化主要是對 tomcat 啟動參數(shù)優(yōu)化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設(shè)置JAVA_OPTS 參數(shù)。
1.JAVA_OPTS參數(shù)說明
Server:啟用jdk 的 server 版;
Xms :java虛擬機(jī)初始化時(shí)的最小內(nèi)存;
Xmx : java虛擬機(jī)可使用的最大內(nèi)存;
XX:PermSize:內(nèi)存永久保留區(qū)域
XX:MaxPermSize :內(nèi)存最大永久保留區(qū)域
現(xiàn)在一般的公司服務(wù)器內(nèi)存一般都可以加到最大2G ,所以可以采取以下配置:
在cygwin=false前添加
JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'
配置完成后可重啟Tomcat ,查看配置是否生效。
二、Tomcat并發(fā)優(yōu)化
1.Tomcat連接相關(guān)參數(shù)
在Tomcat 配置文件 server.xml 中的配置中
1)參數(shù)說明
minProcessors:最小空閑連接線程數(shù),用于提高系統(tǒng)處理性能,默認(rèn)值為 10
maxProcessors:最大連接線程數(shù),即:并發(fā)處理的最大請求數(shù),默認(rèn)值為 75
acceptCount:允許的最大連接數(shù),應(yīng)大于等于 maxProcessors ,默認(rèn)值為 100
enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應(yīng)設(shè)置為 false。
connectionTimeout:網(wǎng)絡(luò)連接超時(shí),單位:毫秒。設(shè)置為 0 表示永不超時(shí),這樣設(shè)置有隱患的。通??稍O(shè)置為 30000 毫秒。
其中和最大連接數(shù)相關(guān)的參數(shù)為maxProcessors 和 acceptCount 。如果要加大并發(fā)連接數(shù),應(yīng)同時(shí)加大這兩個(gè)參數(shù)。web server允許的最大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置,通常 Windows 是 2000 個(gè)左右,Linux是 1000 個(gè)左右。
2)Tomcat中的配置示例
<Connector port="8088"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
minProcessors="100"
maxProcessors="1000"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
2.調(diào)整連接器connector的并發(fā)處理能力
1)參數(shù)說明
maxThreads:客戶請求最大線程數(shù)
minSpareThreads:Tomcat初始化時(shí)創(chuàng)建的Socket 線程數(shù)
maxSpareThreads:Tomcat連接器的最大空閑Socket 線程數(shù)
enableLookups:若設(shè)為true, 則支持域名解析,可把 ip 地址解析為主機(jī)名
redirectPort:在需要基于安全通道的場合,把客戶請求轉(zhuǎn)發(fā)到基于SSL的redirectPort端口acceptAccount:監(jiān)聽端口隊(duì)列最大數(shù),滿了之后客戶請求會被拒絕
connectionTimeout:連接超時(shí)
minProcessors:服務(wù)器創(chuàng)建時(shí)的最小處理線程數(shù)
maxProcessors:服務(wù)器同時(shí)最大處理線程數(shù)
URIEncoding:URL統(tǒng)一編碼
2)Tomcat中的配置示例
<Connector port="8088"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
三、Tomcat緩存優(yōu)化
1.參數(shù)說明
compression:打開壓縮功能
compressionMinSize:啟用壓縮的輸出內(nèi)容大小,這里面默認(rèn)為2KB
compressableMimeType:壓縮類型
connectionTimeout:定義建立客戶連接超時(shí)的時(shí)間.。如果為 -1, 表示不限制建立客戶連接的時(shí)間
2.Tomcat中的配置示例
<Connector port="8088"
protocol="HTTP/1.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"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
以上就是從三個(gè)方面對Tomcat服務(wù)器優(yōu)化,主要還是為了解決Tomcat服務(wù)器的并發(fā)處理能力差的問題,詳細(xì)的各種參數(shù)除了本文中羅列出來的,在本站的Tomcat服務(wù)器教程中還有更多的實(shí)例參數(shù)可以作為參考。
初級 202925
初級 203221
初級 202629
初級 203743