conf/server.xml
,配置<Executor>
參數:
maxThreads
:根據CPU核心數設置(建議200-2000),如maxThreads="500"
。minSpareThreads
:保持最小空閑線程數(建議20-50),如minSpareThreads="20"
。acceptCount
:設置等待隊列長度(建議100-500),避免請求被過早拒絕。protocol="org.apache.coyote.http11.Http11Nio2Protocol"
,提升高并發性能。enableLookups="false"
。conf/catalina.properties
中添加org.apache.catalina.startup.ContextConfig.jarsToSkip=*
。bin/catalina.sh
,設置堆內存:
-Xms512m -Xmx1024m
(根據服務器內存調整,建議為物理內存的50%-70%)。-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m
。-XX:+UseG1GC
,適合大內存應用。/etc/sysctl.conf
,增加以下參數:net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=30
net.core.somaxconn=8192
net.core.rmem_max=16777216
net.core.wmem_max=16777216
執行sudo sysctl -p
生效。ulimit -n 65535
,提升系統最大文件句柄數。maxPoolSize=50
)。compression="on"
并設置compressableMimeType
。logs/catalina.out
,排查內存泄漏或異常請求。注意:所有參數需根據服務器硬件(CPU/內存)和應用負載調整,建議先在測試環境驗證后再部署到生產環境。