Linux Tomcat性能調優可從系統、JVM、Tomcat配置等多方面入手,以下是關鍵技巧:
系統層面優化
ulimit -n
命令或修改/etc/security/limits.conf
,提升系統允許的最大文件描述符數量(如設置為65536),避免高并發下連接被拒絕。/etc/sysctl.conf
,設置net.ipv4.tcp_tw_reuse=1
(復用TIME_WAIT連接)、net.core.somaxconn=4096
(增大連接隊列),并執行sysctl -p
生效。JVM參數調優
-Xms
和-Xmx
設置初始堆和最大堆大?。ńㄗh設置為相同值,如-Xms2g -Xmx2g
),避免頻繁GC;使用-XX:MaxMetaspaceSize
控制元空間大?。↗DK 8+)。-XX:+UseG1GC
),可設置-XX:MaxGCPauseMillis
控制最大停頓時間;低延遲場景可選CMS(-XX:+UseConcMarkSweepGC
,JDK 11已移除)。Tomcat配置優化
server.xml
中配置Connector
的maxThreads
(最大線程數,如500)、minSpareThreads
(最小空閑線程數,如50)、acceptCount
(等待隊列長度,如200),并啟用NIO協議(protocol="org.apache.coyote.http11.Http11NioProtocol"
)提升并發能力。compression="on"
開啟HTTP壓縮(支持gzip
),并設置compressableMimeType
指定壓縮類型;對靜態資源啟用客戶端緩存(<Context cachingAllowed="true" cacheMaxSize="100000" />
)。AccessLogValve
)或Connector(如AJP協議),減少資源占用。數據庫與連接池優化
maxActive
(最大連接數)、maxIdle
(最大空閑連接數)、minIdle
(最小空閑連接數),避免連接泄漏。監控與調優工具
catalina.out
和訪問日志,定位慢請求或異常,針對性優化代碼或配置。架構優化
注意事項:調優需結合應用場景和硬件資源,優先通過監控定位瓶頸,避免盲目調整參數。例如,高并發場景優先優化線程池和連接器,內存不足時調整JVM堆大小。