我在一台设备上启动 iperf3,在另一台设备 iperf3 --server
上是这样的:
iperf3 --client <my server IP> --json --time 10 --length $len --udp --interval 0.1 --bitrate 0
现在,我注意到,无论我为--length
iperf3 的参数指定什么(至少长度小于 1448 字节,见下文),每 100 毫秒间隔内传输的数据报数量基本保持不变,这意味着最终比特率/它报告的吞吐量与--length
参数值成比例增长。在下面的条形图中,您可以看到--length
x 轴上的参数值以及 iperf3 报告的比特率(bits_per_second
在其 JSON 输出中)除以--length
y 轴上的值。
请注意 1448 之后的下降,并且 iperf3 输出warning: UDP block size <length> exceeds TCP MSS 1448, may result in fragmentation / drops
长度大于该长度的消息,因此应该很清楚。
尽管如此,在每个间隔中传输的数据报数量保持不变对我来说没有意义,因为我希望 iperf3 始终充分利用链路的容量。那么,我如何才能获得我在这里拥有的“真实”吞吐量,而与所选的数据报长度无关?