iperf是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf具有多种参数和特性,iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
iperf有Linux,Windows,android,Mac等版本,下面结合实际网络场景进行iperf工具使用的介绍
1)内网PC机192.168.31.50上使用Windows64位版本的iperf
2)U8000平台 192.168.31.244上安装CentOS6 64bit版本的iperf
测试PC机与U8000之间的网络带宽性能
一、安装iperf
1、以我们U8000平台为例,U8000实际上是CentOS6.764bit Linux系统
先rz命令上传iperf-2.0.4-1.el6.rf.x86_64.rpm的程序包
然后用rpm –ivh 命令进行安装
2、PC机以Win7 64位系统为例,直接解压到指定目录即可
将官网下载好的iperf-2.0.8b-win64.zip解压到D:\iperf\目录下
二,带宽性能测试
iperf工具是基于服务器和客户端的工作模式
PC机作为iperf服务端,U8000作为iperf客户端,接下来进行测试
1)PC机cd D:\iperf\目录,iperf –s –u 开启服务端监听 ,默认监听UDP 5001端口
如下图所示
2) 登录U8000 SSH后台,输入
iperf -c 192.168.31.50 -u -b 100M -t 10
参数解释: -u在udp模式下,-b 100M以100Mbps为数据发送速率,客户端到服务器-c 192.168.31.50进行上传带宽测试,-t测试时间为10秒
看上面的截图可以看到100Mbps测试,实际带宽只有89.7Mbps,丢包率为0.33%
说明:带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽
三,iperf命令的常用参数说明
关于iperf的参数说明可以参考链接https://iperf.fr/iperf-doc.php#doc
或者使用iperf –h命令查看帮助说明
其他比较常用的几个参数
1) -d运行双测试模式,进行上下行带宽测试
这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。
2) -P多线程模式,指定同时连接到服务器的数量。缺省值为1.需要客户端和服务器上的线程支持
iperf -c 192.168.1.1 -P 10 -t 60
客户端同时向服务器端发起10个连接线程。
3) -p 指定服务器侦听和客户端连接的服务器端口,缺省值是5001