1. 程式人生 > >Tomcat6執行緒池(Executor Thread pool)的配置

Tomcat6執行緒池(Executor Thread pool)的配置

                原文地址:http://www.java2000.net/p11864配置很簡單第一步,開啟共享的執行緒池
  1. <Servicename="Catalina">
  2. <!--The connectors can use a shared executor, you can define one or more named thread pools-->
  3. <Executorname="tomcatThreadPool"namePrefix="catalina-exec-"
  4. maxThreads="1000"minSpareThreads="50"maxIdleTime="600000"/>
預設前後是註釋<!-- -->掉的,去掉就可以了。其中name The name used to reference this pool in other places in server.xml. The name is required and must be unique.這個是執行緒池的名字,必須唯一,我們在後面的配置裡要用到這個東西namePrefix(String) The name prefix for each thread created by the executor.The thread name for an individual thread will benamePrefix+threadNumber執行緒的名字字首,用來標記執行緒名字的,這樣每個執行緒就用這個字首加上執行緒編號了,比如catalina-exec-1catalina-exec-2maxThreads(int) The max number of active threads in this pool, default is 200允許的最大執行緒池裡的執行緒數量,預設是200,大的併發應該設定的高一些,反正只是限制而已,不佔用資源minSpareThreads (int) The minimum number of threads always kept alive, default is 25最小的保持活躍的執行緒數量,預設是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白佔用資源。maxIdleTime(int) The number of milliseconds before an idle thread shutsdown,unless the number of active threads are less or equal tominSpareThreads. Default value is 60000(1 minute)超過最小活躍執行緒數量的執行緒,如果空閒時間超過這個設定後,會被關別。預設是1分鐘。threadPriority(int) The thread priority for threads in the executor, the default is Thread.NORM_PRIORITY執行緒的等級。預設是Thread.NORM_PRIORITY第二步在 Connector裡指定使用共享執行緒池
  1. <
    Connector
  2. port="8009"
  3. protocol="AJP/1.3"
  4. maxThreads="5000"
  5. executor="tomcatThreadPool"
注意,一旦使用了執行緒池,則其它的執行緒屬性,比如 maxThreads等將被忽略我測試了一下,由於每次請求不再需要重新分配執行緒,系統響應速度還是有很明顯的改善的。