iperf3网络测试工具

  iperf3是一个网络速度测试工具,支持IPv4与IPv6,支持TCP、UDP、SCTP传输协议,可在Windows、Mac OS X、Linux、FreeBSD等各种平台使用,是一个简单又实用的小工具。因我已配置好yum源,因此执行yum install iperf3即可安装。安装好后,我已看一下iperf的使用参数,如图:

iperf3网络测试工具

iperf3网络测试工具

二、实验环境:

在实际测试中我的服务器有万兆网卡,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工具使用其默认的值,主要几项如下:

iperf3网络测试工具

iperf3网络测试工具

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

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

iperf3网络测试工具

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

iperf3网络测试工具

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

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

iperf3网络测试工具

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

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

iperf3网络测试工具

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

四、测试结果

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

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

iperf3网络测试工具

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

iperf3网络测试工具

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

iperf3网络测试工具

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

iperf3网络测试工具

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzyjy.html