以Tomcat8为例
配置方式一:
<Connector port="8080" acceptCount="100" maxConnections="200"
minSpareThreads="10" maxThreads="200"/>
- acceptCount:请求等待队列大小。当Tomcat没有空间线程处理连接请求时,新来的连接请求放入等待队列,默认为100。当队列超过acceptCount后,新连接请求将被拒绝
- maxConnections:Tomcat能处理的最大并发连接数。当超过后还是会接收并放入等待队列(acceptCount控制),连接会等待,不能被处理。BIO默认是maxThreads数量。NIO和NIO2默认是10000,ARP默认是8192
- minSpareThreads:线程池最小线程数,默认是10.改配置指定线程池可以维持的空闲线程数量
- maxThreads:线程池最大线程数,默认是200.当线程池空闲一段时间后会释放只保留minSpareThreads个线程
Tomcat最大并发线程数是由maxThreads和maxConnections中最小的一个决定。BIO场景下maxConnections和maxThreads是一样的,当需要长连接场景时,应使用NIO模式,并发连接数是大于线程数的。
配置方式二:
<Executor name="tomcatThreadPool"