Linux:网络测试工具之 iperf3

介绍

        Iperf3 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失.对于每个测试,它都会报告带宽,丢包和其他参数,可在Windows、Mac OS X、Linux、FreeBSD等各种平台使用,是一个简单又实用的小工具。

        Iperf3也是C/S(客户端/服务器端)架构模式,在使用iperf3测试时,要同时在server端与client端都各执行一个程序,让它们互相传送报文进行测试。

        iperf3.0之前的版本只能用来测试千兆速率,但是万兆网络强烈建议使用iperf3测试。

下载

iperf下载链接

安装

在CentOS 7上使用下列命令即可安装:
# yum install iperf3


在ubuntu 上使用下列命令安装:

# apt-get install iperf3

客户端和服务端共有的参数

服务端独有参数

客户端独有参数

 配置

1. 网卡默认的MTU是1500字节,对于万兆来说有点小了,相同的数据量,每包1500,头尾会消耗一些带宽,所以可以将MTU设置大点,为9000

ifconfig ethx MTU 9000。

2.设置socket缓冲区大小:

可以先看下默认配置,16777216是配过的值,默认值比这个小。

cat /proc/sys/net/core/wmem_default
16777216

配置:

echo 16777216 > echo 16777216 > /proc/sys/net/core/wmem_default

echo 16777216 > echo 16777216 > /proc/sys/net/core/rmem_default

测试

一、实验环境:

在实际测试中我的服务器有万兆网卡,IP如下所示:

Host177:100.192.168.177

Host178:100.192.168.178

Host179:100.192.168.179

Host186:100.192.168.186

二、测试过程

  在这次测试中主要进行tcp与udp的对比测试,在测试前先说明一下在iperf3中有几个参数在tcp环境与udp环境中的区别,也就是在测试中需要对此参数要给定内容,避免iperf工具使用其默认的值,主要几项如下:

如图,参数若不指定-b带宽值会造成极大的区别,在测试环境中发现 -l 默认就使用128数值。

接下来首先以Host179为服务器端(服务器端启动参数是没有区别的):

以Host178为客户端进行tcp的测试(暂时不指定-l参数即缓冲区大小):

因测试环境有万兆网卡,于是我在这里指定了带宽-b 为万兆(后面还会进行千兆测试,会出现一个较为奇怪的现象),传输内容大小为100G。

再进行udp测试(暂时不指定-l参数即缓冲区大小):

进行udp测试时候,仅是多了一个参数-u即可。

下面进行千兆的测试,如下:

将-b后面跟着的值调小,这里udp的测试同样进行此操作,这里就不列出图片了,接下来我们关注一下测试结果。

三、测试结果

         经测试后,可观察客户端下方的打印结果,如下:

tcp下以万兆带宽测试结果:

ucp下以万兆带宽测试结果:

tcp下以千兆带宽测试结果:

ucp下以千兆带宽测试结果:

  通过观察此类结果可以清楚的发现在设定 –b 1000M (千兆)的时候,tcp和udp的传输100G文件所需时间相差不是很多,但当设定–b 10000M (万兆)的时候,两者相差的还是比较明显的,这也是前面提出的“奇怪的现象”。给人的感觉就是udp没有发挥万兆网卡的全部速率,在图中也有显示丢包率为51%。

  通过网上的资料查询得知,udp丢包率高可能为缓冲区buffer有限制导致的,因此我于是进行了如下测试:

将udp缓冲区buffer调高,执行下面命令:

CentOS 7中默认buffer大小为212992,我在后面增加了2个0,约为放大100倍,这两条命令在服务器端和客户端都执行,然后下面在执行udp测试命令:

得出结果为:

可以看出丢包率得到了明显的改善,但识别出的带宽仍为6500M左右,离万兆还有一定的距离。

四、结论

    经过上网查询学习得知,在带宽测试中通常采取udp模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽(万兆)作为数据发送速率进行测试,这样可以大体得出实际带宽的极限值,在测试环境中的带宽为6500左右,这也同样解释了上文提到的奇怪现象,并且在做实验中一定要注意测试命令的默认参数值,比如在本次测试中的tcp与udp测试的-b和-l两个参数,在使用默认参数的时候还是有着巨大的区别。

五、扩展

dperf 100G网络测试​​​​​​​

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值