<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="2000"
maxThreads="3"
maxConnections="2"
acceptCount="2"
redirectPort="8443" />
- connectionTimeout 是Socket建立超时时间,2秒足够了。
- maxThreads 是Tomcat用于处理请求的线程数量
- maxConnections是最大连接数。在BIO模式下,它受到maxThreads限制,因为BIO模式下一个线程只能处理一个连接。在NIO模式下,一个线程可以处理多个连接。
- acceptCount 等待队列容量。当连接数量等于maxConnections时,后续的连接请求都会放到等待队列中。
所以Tomcat在某一时刻能同时处理的请求是maxConnections,服务最大容量是maxConnections + acceptCount。
一般,maxThreads 应该小于 maxConnections,更应该小于 maxConnections + acceptCount。如果maxThreads 大于 maxConnections + acceptCount,那么Tomcat不会创建maxThreads个线程处理请求,只会创建(maxConnections + acceptCount)个线程处理请求。
即处理请求线程数 = min(maxThreads, (maxConnections + acceptCount))
参考
https://www.zhihu.com/tardis/bd/art/165501998