1. 程式人生 > >關於Tomcat 8的優化(Windows下)

關於Tomcat 8的優化(Windows下)

tar nbsp apach lin -s 個數 超過 queue -xms

1.指定使用JDK的路徑和vm參數配置

  修改bin文件中的catalina.bat,大約95行setlocal之上加入如下內容:

  set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512M//配置vm參數,根據系統實際情況配置
  set JAVA_HOME=...\jdk1.8.0_92//指定相應版本的jdk路徑
  set JRE_HOME=...\jdk1.8.0_92\jre

2.修改鏈接參數

  修改conf路徑下的server.xml,將

<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
    maxThreads="150" minSpareThreads="4"/>
-->

  修改為

<Executor 
    name="tomcatThreadPool" 
    namePrefix="catalina-exec-"
    maxThreads="500" //最大並發數,默認設置 200,一般建議在 500 ~ 800,根據硬件設施和業務來判斷
    minSpareThreads="100" //Tomcat 初始化時創建的線程數,默認設置 25
    prestartminSpareThreads = "true"//在 Tomcat 初始化的時候就初始化 minSpareThreads 的參數值,如果不等於 true,minSpareThreads 的值就無效
maxQueueSize = "100"//最大的等待隊列數,超過則拒絕請求 />

  修改默認的鏈接參數配置,將

  

<Connector 
    port="8080" 
    protocol="HTTP/1.1" 
    connectionTimeout="20000" 
    redirectPort="8443" 
/>

  修改為

  

<Connector 
   executor="tomcatThreadPool"
   port="8080" 
   protocol="org.apache.coyote.http11.Http11Nio2Protocol"
//Tomcat 8 設置 nio2 更好,Tomcat 6、7設置nio更好:org.apache.coyote.http11.Http11NioProtocol connectionTimeout="20000" maxConnections="10000" redirectPort="8443" enableLookups="false" //禁用DNS查詢 acceptCount="100" //指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理,默認設置 100 maxPostSize="10485760" //以 FORM URL 參數方式的 POST 提交方式,限制提交最大的大小,默認是 2097152(2兆),它使用的單位是字節。10485760 為 10M。如果要禁用限制,則可以設置為 -1。 compression="on" disableUploadTimeout="true" compressionMinSize="2048" acceptorThreadCount="2" //用於接收連接的線程的數量,默認值是1。一般這個指需要改動的時候是因為該服務器是一個多核CPU,如果是多核 CPU 一般配置為 2. compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" URIEncoding="utf-8" />

關於Tomcat 8的優化(Windows下)