同一子网上的服务器的网络速度不同

同一子网上的服务器的网络速度不同

我遇到了一个非常奇怪的问题,我正在寻求有关如何调试它的建议。

我在同一个子网和交换机上有两个服务器 (A) 和 (B)。服务器 A->B 的传输速度为 12MB/s,反之亦然。

但是,对于外部站点,服务器 A 的传输速度为 4MB/s,而服务器 B 的传输速度仅为 500KB/s。相同的文件、相同的终端服务器、相同的出站路由、相同的传输方法(SCP 和 HTTP)。我们这边没有速率限制,iptables 出于测试目的而关闭,两台主机都运行 CentOS 6。

我怎样才能找出造成速度差异的原因?

答案1

这可能是 TCP 窗口与 NIC 驱动程序交互方式的问题。

首先,检查 TCP 窗口缩放是否已启用,发出sysctl -a | grep net.ipv4.tcp_window_scaling。如果未启用,请使用激活它sysctl net.ipv4.tcp_window_scaling=1并重试测试。

如果不起作用,您可能需要手动调整 TCP 参数。由于这可能相当复杂,请参阅这里了解更多信息。

作为最后的手段,如果启用了 TCP 窗口缩放并且仍然性能不佳,请尝试使用以下方法禁用它sysctl net.ipv4.tcp_window_scaling=0

相关内容