一个非常繁忙的代理服务器有很多“SYNs to LISTEN sockets drops”。
我了解到一个原因可能是积压量太小。但在这种情况下,“套接字的监听队列溢出的次数”值应该相等(事实并非如此)。
那么这种行为的原因可能是什么?也许是坏的网卡?
我们有 5 个代理,其中两个数字不相等,所以这个问题似乎发生在那里。
这是 netstat 的输出:
$ netstat -s | grep -i list
238627 times the listen queue of a socket overflowed
8610307 SYNs to LISTEN sockets dropped
Run Code Online (Sandbox Code Playgroud)
服务器有 ipv4 和 ipv6 流量,也许有帮助?
连接到 ipv6 子域 www6.example.com 需要很长时间。在 chrome 中,net 选项卡显示“连接”花费了 20 秒。所有其他时间都快得多。
然而,只有前两个连接很慢(有时是 21 秒、41 秒、24 秒)。以下请求远低于 1 秒。等待约 2 分钟,前 2 个请求再次该死的慢。
通过 ipv4 子域 www.example.com 调用同一个服务器(同时)相当快。
通过 ipv6 调用其他服务器(同时)也相当快。
在服务器上运行 ubuntu 精确与 haproxy。处理的大部分流量是 ipv4。
服务器端有这么长时间才建立连接是什么问题?
我很高兴获得任何见解,并热衷于提供更多信息。
编辑:添加了来自 chrome 的屏幕截图。