0

使用在 windows 2008 r2 上运行的 tomcat 7.0.34 运行我们的应用程序。我们使用 nio 作为 http connetor (org.apache.coyote.http11.Http11NioProtocolconnector) 经过几个小时的负载测试(休息请求),connectionCount 属性被占用到它的最大限制(默认 10000)。在运行期间,连接稳定在 5000。10000 的跳跃达到峰值。虽然我停止了负载,但这些连接仍然显示 10000,我无法使用 http 访问服务器。Tomcat 看起来像是在结冰)。Busythreads 和 currentThread 计数显示 37。使用 netstat 不会显示这些连接。所有其他服务器资源都可以(cpu、内存...)。我生成了线程转储,但它没有说明问题。

知道这个服务器状态应该是什么问题吗?

4

1 回答 1

0

请注意,对于 NIO,当前连接并不一定意味着分配了一个线程来服务该请求。它可能处于保活状态。

也就是说,它看起来像是连接计数跟踪中的一个错误。我不记得该区域最近有任何修复,但请使用 7.0.40 重新测试。还请使用 netstat 或类似工具来确认没有 10,000 个打开的连接。如果您仍然看到问题,请在https://issues.apache.org/bugzilla打开错误报告。

如果错误报告包含在氏族安装中重现此问题的步骤,那将非常有帮助。一旦所有请求都完成处理,任何导致连接计数不为零的东西就足够了。

于 2013-05-28T11:03:25.353 回答