acceptCount队列维持在操作系统级别。假设我们有一个10K的acceptCount队列。
情况 - 由于其中一个依赖关系或网络问题以及所有客户端超时期间,服务器无法处理请求或需要很长时间。最终队列有10K CLOSE_WAIT连接。现在,如果该服务再次备份并开始处理。它会清理CLOSE_WAIT连接队列吗? tomcat如何在这种情况下表现。
答案 0 :(得分:1)
关于CLOSE_WAITS并达到最大连接数/线程数的一些提示, (我在WebLogic服务器中遇到过类似的问题,但这些是一般提示)
由于网络问题而释放卡住的线程:(如果根据业务允许)
在尝试任何变通方法之前,请仔细检查并找到根本原因。
CLOSE_WAITS应该在重载期结束后清除以防这是问题,但是如果线程卡住,您可能需要尽快重启以解决问题。
答案 1 :(得分:0)
acceptCount
队列维持在操作系统级别。
通过这个我假设你的意思是监听积压队列。
假设我们有一个10k的
acceptCount
队列。
没有办法说出来。你可以提示到操作系统你希望它多长时间,但操作系统可以上下调整它,并且没有API告诉你实际长度是多少。 / p>
最终队列有10k CLOSE_WAIT连接。
不,不。 CLOSE_WAIT状态不会在任何地方排队,并且侦听backlog队列与CLOSE_WAIT无关。
它会清理CLOSE_WAIT队列吗?
没有这样的队列可以清理。
如果您真正要求的是重新启动该过程,请清除处于CLOSE_WAIT状态的所有端口,答案是退出持有它们的进程将执行此操作。
然而,让Tomcat检测到所有已关闭的连接并自行关闭它们也是如此。如果你有很多这样的话,真正的问题就是为什么它没有自动完成。它应该。
如果这是由某个请求转发到某个地方引起的,那么在您的应用程序中,它听起来像是内部同步的,不应该同步。