1. 程式人生 > >配置Tomcat線程參數maxThreads、acceptCount

配置Tomcat線程參數maxThreads、acceptCount

參數 protoc 自己的 最大線程數 超時 pad idt info 網絡

一、配置
Tomcat/conf/server.xml修改配置

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
  connectionTimeout="20000"
  redirectPort="8443"
  URIEncoding="UTF-8"
  minSpareThreads="25"
  maxSpareThreads="300"
  maxThreads="500"
  acceptCount="500"

  connectionTimeout="30000"
  enableLookups="false"/>

二、參數說明

maxIdleTime:最大空閑時間,超過這個空閑時間,且線程數大於minSpareThreads的,都會被回收,默認值1分鐘(60000ms);
minSpareThreads:最小空閑線程數,任何情況都會存活的線程數,即便超過了最大空閑時間,也不會被回收,默認值4;
maxSpareThreads:最大空閑線程數,在最大空閑時間(maxIdleTime)內活躍過,此時空閑,當空閑時間大於maxIdleTime則被回收,小則繼續存活,等待被調度,默認值50;

maxThreads:最大線程數,大並發請求時,tomcat能創建來處理請求的最大線程數,超過則放入請求隊列中進行排隊,默認值為200;
acceptCount:當最大線程數(maxThreads)被使用完時,可以放入請求隊列排隊個數,超過這個數返回connection refused(請求被拒絕),一般設置和maxThreads一樣,不過
這個具體需要根據自己的應用實際訪問峰值和平均值來權衡,默認值為100;connectionTimeout:網絡連接超時,假設設置為0表示永不超時,這樣設置隱患巨大,通常可設置為30000ms,默認60000ms。

Windows Tomcat每個進程允許maxThreads(最大線程數)2000

Linux Tomcat每個進程允許maxThreads(最大線程數)1000

 技術分享圖片

圖解線程池原理

關於maxThread如何配置,我是參考這位博主寫的這篇博文理解的http://blog.sina.com.cn/s/blog_605f5b4f01012ljj.html

技術分享圖片

配置Tomcat線程參數maxThreads、acceptCount