iperf是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf具有多种参数和特性,iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

iperf有Linux,Windows,android,Mac等版本,下面结合实际网络场景进行iperf工具使用的介绍

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 命令进行安装

iperf网络带宽测试工具的使用_客户端_02


2、PC机以Win7 64位系统为例,直接解压到指定目录即可

将官网下载好的iperf-2.0.8b-win64.zip解压到D:\iperf\目录下

iperf网络带宽测试工具的使用_服务器_03

二,带宽性能测试

iperf工具是基于服务器和客户端的工作模式

PC机作为iperf服务端,U8000作为iperf客户端,接下来进行测试

1)PC机cd D:\iperf\目录,​iperf –s –u ​开启服务端监听 ,默认监听UDP 5001端口

如下图所示

iperf网络带宽测试工具的使用_丢包_04

2) 登录U8000  SSH后台,输入

iperf -c 192.168.31.50 -u -b 100M -t 10

iperf网络带宽测试工具的使用_客户端_05

参数解释:​ -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命令查看帮助说明

iperf网络带宽测试工具的使用_服务器_06


其他比较常用的几个参数

1) ​-d​运行双测试模式,进行上下行带宽测试

这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。

2) ​-P​多线程模式,指定同时连接到服务器的数量。缺省值为1.需要客户端和服务器上的线程支持

iperf -c 192.168.1.1  -P 10 -t 60

客户端同时向服务器端发起10个连接线程。

3) ​-p ​指定服务器侦听和客户端连接的服务器端口,缺省值是5001