Netstat 监听队列

Netstat 监听队列

我可以从 netstat 侦听队列收集哪些信息?

查看手册页,我可以看到在 netstat 中使用“-L”它会显示侦听队列的大小。

它告诉我有关每列的信息:

  • 第一个未接受的连接数
  • 第二个未接受的不完整连接数
  • 第三个最大排队连接数

我注意到,每当第一列趋于增加更高时,我的应用程序的响应速度往往会降低,并且 Nagios 检查打开的套接字连接开始失败。

未接受的 TCP 连接数是否典型/预期为非零?或者这是否表明应用程序有问题?

示例($port 是实际端口号):

netstat -La | grep $port
tcp4  22/0/128        *.$port

通常,当应用程序响应时,输出如下所示:

tcp4  0/0/128        *.$port

答案1

你还没有回答你自己的问题吗?当存在未接受的连接时,应用程序会变得缓慢。如果您想知道这种行为是否符合预期,那么是的,确实如此。如果传入连接正在排队,则在队列中花费的时间会增加客户端的请求延迟,从而导致您所描述的响应缓慢。要解决此问题,您需要减少传入连接的数量(通常不是一个选项)或向应用程序添加资源。后者可以通过增加系统可用的资源或(这通常是更好的选择)在负载平衡集群中添加节点来实现。

相关内容