iperf2.0和iperf3比较以及影响udp丢包率的参数

发现iperf与iperf3版本不同对测试结果有较大影响;通过自己试验与网络查找资料有结论如下。

第一部分:iperf与iperf3比较


1)iperf3较iperf测试UDP丢包率和带宽,相同硬件条件下,iperf3测试带宽更高,但是存在严重丢包

      iperf测试UDP带宽较小,但是不丢包。(x86硬件平台)
2)iperf 2.05,客户端可以使用参数"-d"来进行双工测试,先测试发送,client向server发送数据,等到测试时间结束后(默认为10s,可以通过-t选项来更改),然后再测试接收,client端接收server发送数据,最后得出发送和接收吞吐率。iperf3不支持双工测试。

3)iperf3 和 iperf2 使用上, iperf3 server端使用了统一的命令iperf3 -s,不在区分测试UDP还是TCP;

4)测试是,需要保证被测试网卡的MTU值>测试包的长度,即-l 的值,默认packet size是1470,加上udp和ip头的长度28, 等于1498。若默认packet size > MTU,将会出现接收端收不到数据。


第二部分:iperf主要影响丢包率的参数

-b   使用iperf生成并发送数据,在数据包长度固定的情况下(L默认为1470字节),带宽越大,每秒钟发送的数据包越多。当链路延时较大时,每秒发送的数据包数量太多时会造成比较大的丢包率。

-l    可以设置发送包的长度。TCP方式默认为8KB,UDP方式默认为1470字节。增加包的长度增大缓冲区长度可以减少丢包率,因为包长度很小的话会造成包的数量更多,更易造成拥塞。

在发送包为大包情况下,保障不丢包的方式,应当同时增大系统的读写缓冲区大小,修改/etc/sysctl.conf

udp模式下丢包的原因可以根本在于发送端和接受端速度不匹配导致的,除了分析iperf参数设置上是否保证接收端能够及时处理数据外,还应该看发送端设备和接受端设备的状态。比如上周困扰我的一个丢包率问题,发送端32核计算机,接收端24核计算机。





发布时间:2021-11-20 9:09 Saturday
  • 版权声明:除非注明,文章均为【舞乂IT】原创,欢迎转载!转载请注明本文地址,谢谢!

  • 作者:舞乂IT

    舞乂人生,打造不一样的世界!共同学习,共同努力,提升技能!!!!!

    返回列表
    上一篇:
    下一篇:

    发表评论

    快捷回复: