networking速度较慢,数据包较小

使用iperf3使用--length 1000 --no-delay来testingnetworking

 iperf3 --interval 1 --time 3 --no-delay --length 1000 --parallel 100 --client 10.0.0.3 

结果:

 [SUM] 0.00-3.00 sec 835 MBytes 2.33 Gbits/sec 13 sender [SUM] 0.00-3.01 sec 835 MBytes 2.33 Gbits/sec receiver 

用 – --length 1 --no-delay

 iperf3 --interval 1 --time 3 --no-delay --length 1 --parallel 100 --client 10.0.0.3 

结果:

 [SUM] 0.00-3.00 sec 751 KBytes 2.05 Mbits/sec 5 sender [SUM] 0.00-3.02 sec 751 KBytes 2.03 Mbits/sec receiver 

– >我得到2Mbits / sec而不是2Gbits / sec。

看来我正在碰到一些硬件或软件的限制,以防止小数据包达到更高的吞吐量

1)这个限制是什么?
2)如何检测? (在UNIX上,有没有一个命令来检查它?)
3)有没有办法增加这个限制?

更新:

我们来计算每秒的数据包数:
对于1000B有效载荷:PPS = 2.33 * 1024 * 1024 * 1024/8/1000 = 313K
对于1B有效载荷:PPS = 2.03 * 1024 * 1024/8/1 = 266K

当有效负载较低时,我们不应该期望有更多的数据包吗?