对 tomcat 来说,每一个进来的请求都需要一个线程,直到该请求结束。
如果同时进来的请求多于当前可用的请求处理线程数,额外的线程就会被创建,
直到到达配置的最大线程数(maxThreads属性值)。
如果仍就同时接收到更多请求,这些来不及处理的请求就会在Connector创建的ServerSocket中堆积起来,
直到到达最大的配置值(acceptCount属性值)。至此,任何再来的请求将会收到connection refused错误,直到有可用的资源来处理它们。
具体配置相关信息参考: http://www.cnblogs.com/shenpengyan/articles/5938749.html 中的Connector元素属性配置。
tomcat 6 的 Connector 配置如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="800"
acceptCount="1000"/>
其中最后两个参数意义如下:
maxThreads:tomcat 起动后的最大线程数,即同时处理的请求任务个数
acceptCount:当 tomcat 起动后的运行线程数达到最大时,接受排队的请求个数