Tomcat 性能優化
Tomcat性能優化:apache
- 修改線程池
默認線程池配置:
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="150」
minSpareThreads=「4」
maxIdleTime=「60000"/>
修改線程池:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads=「150」
maxSpareThreads=「75」
minSpareThreads=「25」
maxIdleTime=「60000」
acceptCount=「1000"/>
maxThread 表示最大能同時處理的鏈接數
minSpareThreads 表示最少開這麼多線程等待處理
minSpareThreads 表示最多有這麼多空閒線程
acceptCount 表示當達到最大線程數的時候還能夠排隊的數目
具體的參數須要結合機器,能夠經過測試獲得最優配置。
- 設置爲NIO
默認協議爲BIO(Linux Tomcat8以前):
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
enableLookups=「false"
redirectPort="8443" />
修改成NIO
<Connector executor="tomcatThreadPool"
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
enableLookups=「false"
redirectPort="8443" />
- JVM內存調優
在catalina.sh中添加:
JAVA_OPTS = 「-Xmx1024m -Xms1024m -Xmn400m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:/usr/local/tomcat/logs/gc.log」
cygwin=false
-Xmx1024 設置堆大小最大爲1024m,具體根據機器內存大小調節
-Xms1024 設置對大小最小爲1024m
-XX:+UseParNewGC 年輕代使用並行GC
-XX:+UseConcMarkSweepGC 年老代使用併發GC
能夠根據內存大小和訪問量進行修改,具體值設置要參考gc log。
JVM可參考這篇文章:http://www.javashuo.com/article/p-uomzpgcb-hs.html
歡迎關注本站公眾號,獲取更多信息