最近我用 iperf3(Linux 上的 3.1.7)做了一些网络测试,我对结果感到困惑。
我使用的语法是iperf3 -c -b 500M
,用于 TCP 和 UDP 测试。我的理解是,默认情况下,iperf3 会进行某种内部调速以保持所需的速率。
我已经读过,在控制起搏机制的较新版本的 iperf3 计时器中,具有相当好的分辨率(1 毫秒),因此流量不应该非常突发。
事情是,对于 UDP 测试,我遇到了丢包(1%-2%),而 TCP 测试达到了最大所需带宽并且报告没有重传。
我对起搏的确切工作原理没有很好的了解,但我倾向于认为,如果 TCP/UDP 都相似并且问题出在网络上,我应该期望 UDP/TCP 的结果一致(因此,重新传输在 TCP 的情况下)。
有没有人经历过类似的结果?如果是这样,这种不一致的原因是什么?