iperf3网络测试工具使用方法

iperf3介绍

iperf3是基于Client/Server的网络性能测试工具,通常用于测试网络上可达到的最大带宽,它能够测试TCP、UDP及SCTP的带宽质量,可以提供网络吞吐量、网络波动、网络丢包率以及最大传输单元大小等信息,能够帮助我们测试网络性能,定位网络瓶颈。可在Linux、MacOS、FreeBSD、Window、Android、iOS、Docker等平台使用,是一个简单使用的小工具

iperf3常用参数
  1. 通用参数:

    -v	# 查看版本信息
    -p	# 端口
    -f	# 指定带宽输出格式: Kbits、Mbits、Gbits、Tbits
    -i	# 监控报告时间间隔,单位秒(s)
    -J	# Json格式输出结果
    --logfile	# 将结果输出到指定文件中
    
  2. 服务端参数:

    -s	# 以服务器模式运行
    -D	# 后台运行服务器模式
    
  3. 客户端参数:

    -c	# 以客户端模式运行,连接到服务端
    -t	# 传输时间,默认10秒
    -n	# 传输内容大小,不能与-t同时使用
    -b	# 目标比特率(0表示无限)(UDP默认1Mbit/sec,TCP不受限制)
    -l	# 要读取或写入的缓冲区长度(TCP默认128 KB,UDP默认1460)
    -O	# 忽略前几秒
    -R	# 反向模式运行,即服务端发送,客户端接收
    -u	# 使用UDP协议,默认使用TCP协议
    --get-server-output #输出服务端的结果
    

    更多参数请通过帮助命令iperf3 --help查看

iperf3官方下载地址:点击进入官网下载

iperf3源码GitHub地址:点击进入GitHub

iperf3安装

  1. Linux CentOS中安装

    dnf install iperf3 -y
    

    查看iperf3版本

  2. Windows安装

    根据系统选择64bit或32bit下载,window版本下载后是一个zip压缩包,解压后有以下两个文件

    不用运行iperf3.exe文件,具体请查看下文介绍的使用方法

  3. Android安装

    支持iperf的app有很多,这里使用he.net - Network Tools 软件,它是一个综合型的网络测试工具,iperf3只是其中一项,通过官网地址下载需要kexue上网才能成功,此处提供一个安装包Network Tools-APP,提取码:y9rd,在手机上安装软件即可

iperf3使用

  1. linuxCentOS中使用方法

    1.1 选择一台机器做为服务端,执行以下命令,默认时间1秒,默认端口5201

    # 以服务端模式运行,设置监控时间2秒,并指定端口为8888
    iperf3 -s -i 2 -p 8888
    

    1.2 选择另一台机器做为客户端,执行以下命令进行带宽测速

    # 以客户端模式运行,host:port为服务端信息,输出结果以MB显示,每个1秒打印一次,共计5秒,忽略前3秒的结果,反向模式运行
    iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -t 5 -O 3 -R
    

    默认正向模式,TCP协议

    UDP协议,进行UDP测试,仅需增加参数-u即可

    iperf3 -c 192.168.137.150 -p 8888 -f m -i 2 -t 10 -O 5 -u -R
    

    指定比特率和传输内容大小,测试结果应无限接近指定值

    iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -b 1000M -n 100M -u
    

    通过上图测试数据可以发现UDP与TCP的结果差距很大,通过查询网上资料得知,很可能是缓存区buffer有限制导致的,通过增大缓冲区可以避免此情况,使用参数-l

    iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -b 1000M -n 100M -l 15000 -u
    
  2. Windows中使用方法

    2.1 打开程序所在文件,在空白处按住键盘Shift键不放手,点击鼠标右键,选择“在此处打开命令窗口(W)”,进入命令行窗口

    2.2 选择一台做为服务端,使用Linux系统的服务端也可以,在命令行窗口中执行以下命令

    # 启动服务端,前台或后台运行
    .\iperf3 -s -i 2 -p 6666	# 前台运行
    .\iperf3 -s -i 2 -p 6666 -D # 后台运行
    

    由于Windows版本不同,若命令前未添加.\,可能出现下图中的报错

    2.3 选择一台机器做为客户端,执行测试命令

    iperf3 -c 192.168.137.13 -p 6666 -i 2 -t 10 --get-server-output
    

    客户端默认只显示发送信息,接收信息需在服务端查看,为方便查看,可以使用参数--get-server-output同时输出服务端的信息

  3. Android中使用方法

    3.1 先在Windows系统中启动服务,即2.1的操作

    3.2 开启电脑的移动热点,然后手机连接移动热点

    3.3 打开Network Tools,点击【三】,选择【iperf3】,在输入框中输入电脑的IP地址即可,也可以直接在输入框中填写命令,下面的4个选项分别表示时间间隔、字节大小、TCP\UDP、V4\V6、前三个相当于命令参数-i、-n和-u,支持v4和v6地址;下面展示的就是客户端的运行结果

    下图是服务端运行结果

    移动端网络测试实际就是无线网络测速,会有很大损耗的,并不是握手显示多少速率就能跑多少

iperf3卸载

  1. Linux CentOS中卸载

    1.1 查看本地已安装的iperf3

    dnf list installed | grep iperf3
    

    1.2 删除已安装的iperf3

    dnf remove iperf3.x86_64 -y
    
  2. Windows中卸载

    直接删除程序包即可

  3. Android中卸载

    卸载Network Tools软件即可

测试时要多注意命令的默认参数值,工作中常用此工具测试带宽限速是否生效,更多功能请自行挖掘吧

posted @ 2021-05-17 23:00  小白典  阅读(8077)  评论(0编辑  收藏  举报