当我从系统 b ping 系统 a 时;我的平均时间为 1.494 毫秒。当我从系统 a ping 系统 b 时;我得到一个 0.896 毫秒的平均值。
我每 10 秒运行一次 ping 测试,持续 1.5 小时。我在两台机器上都运行了这个。然后我在不同的时间和不同的时间长度在 6 天内重新运行了几次测试。在所有情况下,来自 b->a 的 ping 比来自 a->b 的 ping 高 20% 到 50%
然后我尝试从 a->b 和 b->a 传输文件。它们的差异不到 5%。
这些是相同的 Linux RedHat 服务器。相同的硬件,相同的软件。
我完全理解,如果我是一个正常的调整良好的人,没有强迫症和肛门保留,我会在注意到第一个差异后耸耸肩继续前进。但我完全被这件事弄疯了。
到底是什么导致了这种情况,我将如何检查是否是这种情况?
谢谢
值得从 A->B 和 B->A 进行跟踪路由。除非您另有了解,否则正向流量完全有可能采用与反向流量不同的路径。
鉴于 ICMP 测量往返时间,您可能会认为这是允许的,但我在网络中看到了类似的不对称 ping 时间,其中给定方向的流量偏向于特定链路。
我猜是在不同的数据中心
a
?b
可能与不同的上游运营商合作?Ping 是通过 ICMP 实现的,ICMP是一种完全独立于 TCP 的流量类型,因此运营商可以免费(并且通常会)降低 ping 流量的优先级。您可能会在测试中看到这种效果。
您可以使用mtr或tcpping等工具来确认这一点,这些工具使用替代方法来模拟 ping。
编辑:您是否检查过
a
和之间的每个接口上的双工设置b
?如果某些东西未能自动检测并默认为半双工,这可能会解释您所看到的结果(尽管面对双工不匹配时您不太可能获得可接受的传输速率)