Tomcat没有从过剩的交通中恢复过来

fae*_*anj 2 java tomcat tomcat6

当达到我的tomcat(6.0.20)maxThreads限制时,我得到预期的错误:

为地址为null和端口80的连接器创建的最大线程数(XXX)

然后请求开始挂起队列并最终超时.到现在为止还挺好.问题是当负载下降时,服务器无法恢复并且永远处于瘫痪状态,而不是恢复生机.

任何提示?

Bal*_*usC 5

考虑切换到NIO,然后您不必担心每个连接1个线程的技术要求.如果没有NIO,限制大约是5K线程(5K HTTP连接),然后它会像那样吹.使用NIO,Java将能够通过单个线程管理多个资源,因此限制要高得多.边界实际上是可用的堆内存,大约2GB可以达到20K连接.

配置Tomcat使用NIO是改变作为简单protocol的的属性<Connector>元件在/conf/server.xml"org.apache.coyote.http11.Http11NioProtocol".