可以测试TCP和UDP带宽质量,简单来说就是测网速的。
一、下载工具
1、下载iperf3
根据自己的设备下载工具(两台都要下载):iPerf - Download iPerf3 and original iPerf pre-compiled binaries

2、打开iperf3
随便选一种方法即可
- 下载好的压缩包,如果不经常使用该工具,可以选择一个文件夹解压,解压后找到文件,在文件位置输入"cmd"回车,弹出命令提示符窗口,如图:

-
如果经常使用,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录,就是运行"cmd"后,直接打开出来的窗口,显示的路径,如图:

-
如果经常使用,也可以添加到环境变量里面。
-
验证是否下载成功,在打开的窗口中输入“iperf3.exe -v”,会出现安装的版本,表示安装成功了

二、使用iperf3开始测试。
1、iperf3测试准备
两台设备
测试时,一台设备做服务端,一台设备做客户端。
电脑需要设置和设备同网段的IP
2、iperf3服务端操作
服务端输入“iperf3 -s”,出现server listening on 5201即说明服务端以运行

3、iperf3客户端操作
客户端输入:“iperf3.exe -c 服务器IP地址 -P 10“//表示客户端10路并行给服务器发送TCP包;
注:服务器IP地址:即服务器那台电脑,和设备同网段的IP

上图可知:带宽是90Mbps左右,即当前网络是:百兆网络
客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 1g" //客户端给服务器发送udp数据包,最大带宽为1g

上图可知:带宽149Mbps,延时1.217ms,丢包55% 。
三、iperf3参数说明
1、iperf3共用参数说明
-f [k|m|K|M] 分别表示以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 c:\iperflog.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数据包
2、iperf3服务器参数说明
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
3、iperf3客户端参数说明
-c //在客户端模式下运行
-u //使用UDP而不是TCP
--sctp //使用 SCTP 而不是 TCP(Linux、FreeBSD 和 Solaris)
-b //UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec
-t //设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。
-n //要传输的字节数,通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。
-k //要传输的块(数据包)数
-i //要读取或写入的缓冲区的长度。TCP 的默认值为 128 KB,UDP 的默认值为 8 KB
-r //分别进行双向测试
-P //大写字母P,要运行的并行客户端流的数量
-d //同时进行双向传输测试
-n //指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r //单独进行双向传输测试
-t //测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F //指定需要传输的文件
-T //指定ttl值