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