测量 Windows 和 Linux 之间的网络性能

测量 Windows 和 Linux 之间的网络性能

我正在使用 iperf 来评估 Windows 和 Linux 之间的网络性能。

对于 TCP,iperf 显示从 Linux 服务器到 Windows 客户端的速度为 312 Mbits/sec,但是从 Windows 服务器到 Linux 客户端的速度仅为 160 Mbits/sec。

对于 UDP,iperf 显示从 Linux 服务器到 Windows 客户端的速率为 147 Mbits/秒且丢失率为 82%,但是从 Windows 服务器到 Linux 客户端的速率为 92 Mbits/秒且丢失率为 0%。

我不明白为什么当我将方向从“Linux->Windows”更改为“Windows->Linux”时 iperf 结果会不同。

有人能解释一下为什么会发生这种情况以及与什么有关吗?谢谢。

我有 1Gb 网络和:1)Windows XP SP3,iperf 2.0.4 win32 线程;2)Ubuntu 11.04 Server,iperf 2.0.5 pthreads

答案1

听起来像是速度或双工不匹配。检查两个适配器上的双工设置。我会确保它们设置为自动协商。

格雷格·费罗“千兆以太网必须启用自动协商,以便协商主/从 PHY 关系,以便在物理层进行计时。如果没有协商,线路时钟将无法正确建立,并可能导致物理层问题。”

答案2

Windows 和 Linux 使用不同的 TCP 窗口大小。通常,TCP 窗口会动态调整。但这可能会导致 iperf 中出现不同的结果。我更喜欢使用 -P 5 选项来运行 5 个并行线程。这还会显示所有线程的总和。通常我使用此选项可以看到完整的接口带宽。

相关内容