配置Tomcat线程参数maxThreads、acceptCount

时间:2021-01-27 01:31:24

一、配置
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

配置Tomcat线程参数maxThreads、acceptCount
图解线程池原理

关于maxThread如何配置,我是参考这位博主写的这篇博文理解的http://blog.sina.com.cn/s/blog_605f5b4f01012ljj.html

配置Tomcat线程参数maxThreads、acceptCount