使用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
当有效负载较低时,我们不应该期望有更多的数据包吗?