使用iperf3的64字节PPS吞吐量

时间:2016-11-30 09:07:52

标签: ubuntu-14.04 throughput iperf iperf3

我使用带有ubuntu 14.04的PC到PC测试了有和没有64字节的PPS吞吐量。使用以下命令

server - iperf3 -s

64字节客户端

iperf3 -u -c <server ip> -b 1000M -t -2 -l 64 **-P 6** (OR) iperf3 -u -c <server ip> -b 1000M -t -2 -l 64 **-P 8**

没有64字节的客户端

iperf3 -u -c <server ip> -b 1000M -t -2 **-P 6** (OR) iperf3 -u -c <server ip> -b 1000M -t -2 **-P 8**

奇怪的是,没有64字节最大吞吐量值的6或8个流是810Mbps,丢失了0%的数据包。当我添加64字节数据包时,6个流吞吐量非常低,8个流吞吐量,81%丢失。请注意附上我的测试结果。请随时告诉我为什么会这样?我真的很感激知道原因。 With and Without 64 byte causes throughput value and packet lost at 6 and 8 streams

1 个答案:

答案 0 :(得分:1)

您正在尝试发送1Gbps的数据流(实际上它是1Gbps的有效负载字节,因此实际数据速率高于UDP,IP和以太网开销所导致的数据速率)。 iperf3的默认行为是发送更少,相当大的数据包(大约8KB或接口MTU周围,具体取决于您运行的iperf3的版本)。指定-l 64时,会使发送方发出许多小数据包的流。这实际上是许多网络设备的最坏情况,因为无论有多少个有效负载字节,很多协议处理都是每个数据包。

对于高比特率UDP流,您还可以考虑使用-w选项增加套接字缓冲区大小。这被证明对高速(> = 1Gbps)UDP测试有益。

最后,iperf2在这种测试中可能比iperf3更好,所以你可以考虑使用它。