Tomcat 无法从过多的流量中恢复

发布于 2024-09-18 03:12:11 字数 216 浏览 5 评论 0 原文

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

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

然后请求开始挂在队列上并最终超时。到目前为止,一切都很好。 问题是,当负载下降时,服务器无法恢复,并且永远瘫痪,而不是恢复活力。

有什么提示吗?

When my tomcat (6.0.20) maxThreads limit is reached, i get the expected error:

Maximum number of threads (XXX) created for connector with address null and port 80

And then request starts hanging on queue and eventually timing out. so far, so good.
The problem is that when the load goes down, the server does not recover and is forever paralysed, instead of coming back to life.

Any hints?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱*していゐ 2024-09-25 03:12:11

考虑切换到 NIO,那么你就不会需要担心每个连接 1 个线程的技术要求。如果没有 NIO,限制大约是 5K 线程(5K HTTP 连接),然后就这样崩溃了。有了NIO,Java将能够通过单个线程管理多个资源,因此限制要高得多。边界实际上是可用的堆内存,大约 2GB 最多可以连接 20K。

配置 Tomcat 使用 NIO 就像更改 protocol 属性一样简单="nofollow noreferrer"> /conf/server.xml 中的元素到 "org.apache.coyote.http11.Http11NioProtocol “

Consider switching to NIO, then you don't need to worry about the technical requirement of 1 thread per connection. Without NIO, the limit is about 5K threads (5K HTTP connections), then it blows like that. With NIO, Java will be able to manage multiple resources by a single thread, so the limit is much higher. The border is practically the available heap memory, with about 2GB you can go up to 20K connections.

Configuring Tomcat to use NIO is as simple as changing the protocol attribute of the <Connector> element in /conf/server.xml to "org.apache.coyote.http11.Http11NioProtocol".

静若繁花 2024-09-25 03:12:11

我认为可能是 Tomcat 中的一个错误,根据问题:

https://issues .apache.org/bugzilla/show_bug.cgi?id=48843

应在 Tomcat 6.0.27 和 5.5.30 中修复

I think may be a bug in Tomcat and according to the issue:

https://issues.apache.org/bugzilla/show_bug.cgi?id=48843

should be fixed in Tomcat 6.0.27 and 5.5.30

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文