网络速度测试工具–iperf 应用教程


iperf是一款测试网络性能的工具,且在windows,linux,android,ios和mac都有可用的版本,其测试方法简单有效,常用在开放阶段的联网设备的吞吐测试。

可用版本下载:iperf_total

iperf简介


根据wiki百科的介绍,此软件目前有3个版本,分别为iperf,iperf2和iperf3。
iperf的官方网址为:https://iperf.fr/,我们可以从官网上可以下载到最新的版本。


iperf安装和开启方法

iperf的安装简单,下面针对常用三个平台分别说明:

  • Android平台下载最新的版本,直接安装到对应的测试设备中即可。
  • windows平台下载最新的版本,解压即可使用,若为了方便,可将其加入到环境变量中,或者拷贝相应的文件到%systemroot%文件夹亦可。
  • linux平台采用下载编译安装,或者采用Ubuntu的#apt-get install iperf 亦可安装。

iperf的开启方法如下,下面针对常用三个平台分别说明:

  • Android打开对应的apk,在apk的输入界面输入iperf,并带上相应的参数,后点击开始即可
  • windows安装好后,若未加入到环境变量,则直接在命令提示符 cd到解压后的文件夹,输入iperf加上对应的参数即可。
  • linux在调出的终端界面输入iperf后带参数即可。

三个平台是的使用方式大致一样,如下是常用的指令,下面2章将分别讲述测试环境的搭建和参数的含义。

作为服务器时常用:

iperf -s

作为客户端时常用:

iperf -c 192.168.1.1 -i 1 -t 60 -w 1M

iperf的测试方法

iperf测试采用客户端,服务器的方式,即:一个设备做为客户端,另一个设备做为服务器,然后客户端向服务器端发送数据的方式,来测试整个连接线路的数据传输能力。

举例说明:若要测试A设备的上下性带宽能力,那么要按照如下方式进行:

  1. 进行调试环境搭建,按照大于或者等于A设备的设计带宽,搭建一个正常的拓扑网络,其基本要素包括:
    • 一台可以安装iperf,且可以正常联网的设备B。
    • 带宽足够的路由设备,且正常连接2个设备。
    • 网络范围了无其他多余的干扰源或者大量占用网络带宽的设备。
  2. 进行测试时按照如下方式进行分别测试
    • 测试上行带宽时:按照各平台的操作方法将A设备设置为客户端 ,B设备设置为服务器>>找到B机器IP并用A设备连接B设备,此时A处读出的测试数据即为A设备的上行带宽数据。
    • 测试下行带宽时:按照各平台的操作方法将B设备设置为客户端A设备设置为服务器>>找到A机器IP,并用B设备连接A设备,此时B处读出的测试数据即为A设备的下行带宽数据。

说明:测试某个设备的下行将其做为服务器,测试上行作为客户端,且注意测试环境中其他设备的带宽应不小于此设备。

如下为windows和Android运行后结果图:


iperf常用参数说明:

基本参数:

-s 以server模式启动,eg:iperf –s 。Server端为数据的接收端。
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
-o 重定向输出到指定文件。
-c,–client <hostname/IP> 如果Iperf运行为服务器模式,则可利用-c参数指定一个客户端,本机将接受指定客户端的连接,但不支持UDP协议。
-P,–parallel # 设置Iperf服务模式下的最大连接数,默认值为0,表示不限制连接数量。

客户端参数:

-b,–bandwidth 指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
-c,–client <hostname/IP> 指定Iperf服务器的主机名和IP地址
-d,–dualtest 同时进行双向传输测试
-n,–num 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r,–tradeoff 单独进行双向传输测试
-t,–time 指定Iperf测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-L,–listenport 指定一个端口,服务器将利用这个端口与客户机连接
-P, –parallel 设置Iperf客户端至Iperf服务器的连接数,默认值为1
-S, –tos 设置发出包的类型,具体类型请参阅man文档
-F 指定需要传输的文件
-T 指定ttl值

其他参数

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包


版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/instruction-of-iperf.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注