Linux 服务器有时不响应 TCP 连接或延迟非常高

Linux 服务器有时不响应 TCP 连接或延迟非常高

我有一台 Linux 服务器(Ubuntu 16.04),其中每个服务器似乎都很好,除了它有时回答 TCP 连接非常慢(例如 10-20 秒)或者根本没有。

服务器没有负载,这种情况发生在所有 TCP 服务(HTTP、SMTP、VOIP)上。大多数连接都快速响应,并且这种减速似乎是随机发生的。

我猜测这是在网络堆栈内部。

知道如何调试吗?

我做了 2 次 TCP 转储。

不工作:

15:10:07.281993 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
15:10:10.281742 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
15:10:16.282033 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,nop,sackOK], length 0

在职的

15:11:01.929326 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [S], seq 513688945, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
15:11:04.931110 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [S], seq 513688945, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
15:11:10.930925 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [S], seq 513688945, win 8192, options [mss 1452,nop,nop,sackOK], length 0
15:11:10.930964 IP hetzner3.1740 > p4FC4B365.dip0.t-ipconnect.de.3238: Flags [S.], seq 4087654018, ack 513688946, win 29200, options [mss 1460,nop,nop,sackOK], length 0
15:11:10.960346 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [.], ack 1, win 65340, length 0
15:11:10.971341 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [P.], seq 1:513, ack 1, win 65340, length 512
15:11:10.971371 IP hetzner3.1740 > p4FC4B365.dip0.t-ipconnect.de.3238: Flags [.], ack 513, win 30016, length 0
15:11:10.971377 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [P.], seq 513:627, ack 1, win 65340, length 114
15:11:10.971388 IP hetzner3.1740 > p4FC4B365.dip0.t-ipconnect.de.3238: Flags [.], ack 627, win 30016, length 0
15:11:10.974736 IP hetzner3.1740 > p4FC4B365.dip0.t-ipconnect.de.3238: Flags [P.], seq 1:129, ack 627, win 30016, length 128
15:11:10.975473 IP hetzner3.1740 > p4FC4B365.dip0.t-ipconnect.de.3238: Flags [P.], seq 129:281, ack 627, win 30016, length 152
15:11:11.006089 IP p4FC4B365.dip0.t-ipconnect.de.3238 > hetzner3.1740: Flags [.], ack 281, win 65060, length 0

答案1

我没有足够的声誉来提出问题,因此这更多的是评论/问题而不是答案。

成功的跟踪表明,从 SYN 中删除窗口缩放选项后,服务器做出响应。

您有服务器在第一个 SYN 后响应的示例吗?它们有窗口缩放选项吗?

服务器是否启用了 Windows 缩放? sysctl -a | grep scal 显示什么?

编辑:这个问题/解决方案听起来与您的类似: 为什么服务器不会发送 SYN/ACK 数据包来响应 SYN 数据包

相关内容