提问者:小点点

如何在linux cent OS中找到每个进程允许的TCP连接总数和TIME_WAIT值[duplicate]


我看到很多503在清漆端,一个假设是它正在耗尽tcp连接。我做了很多谷歌搜索(可能是我的谷歌搜索技能真的很差),但没有找到如何检查每个进程当前允许的tcp连接和当前TIME_WAIT值?这是netstat的输出:

Netstat -an | WC -L

< code>690

我对网络故障排除非常陌生,所以这可能是一个非常天真的问题。真的很抱歉。

编辑:由于很多评论都认为这不可能发生,所以我在这里补充了更多信息。

  1. 我已经在后端检查了tomcat访问日志,没有看到任何503。
  2. 503的清漆总时间也很短(约1ms),但通常任何后端请求都需要30-40ms。
  3. 当我们看到非常高的流量时,就会发生这种情况

如果有人需要更多信息,请评论。


共2个答案

匿名用户

我在清漆端看到很多503,一个假设是它正在耗尽tcp连接。

垃圾。这只会影响客户端,在这种情况下,没有连接,没有HTTP,也没有503。

我做了很多谷歌搜索(可能是我的谷歌搜索技能真的很差),但没有找到如何检查每个进程当前允许的 tcp 连接和当前TIME_WAIT值?

与它无关。TIME_WAIT是正常的。最好它发生在客户端,如果服务器和客户端都使用 HTTP 1.1 并且客户端正在执行连接池,则不会造成伤害。它与HTTP 503没有任何关系。

匿名用户

首先,处于TIME_WAIT状态的套接字不使用应用程序文件描述符(TCP TIME_WAIT状态是一种自然且完全正常的TCP/IP状态)。关闭完成后,将释放文件描述符以供重用。TIME_WAIT连接确实会消耗内核资源,但不会达到明显的程度。有少量内核内存用于跟踪套接字和状态,但现代操作系统的内存很小。最显著的影响是TCP端口号范围有限。要使星历表端口范围达到合适的大小,请将net.ipv4.ip_local_port_range设置为正确的值。