Tomcat 性能優化

Tomcat性能優化:apache

  1. 修改線程池
    默認線程池配置:
    <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 表示當達到最大線程數的時候還能夠排隊的數目
    具體的參數須要結合機器,能夠經過測試獲得最優配置。
     
  2. 設置爲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" />
     
  3. 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
相關文章
相關標籤/搜索