网络测速工具iPerf3

iPerf3是一个主动测试网络最大带宽的工具,常用来测试两台网络设备之间的网速及网络设备的性能。iPerf3是全新设计的,不与iPerf共享任何代码。

安装iPerf3

官方下载链接: https://iperf.fr/iperf-download.php
目前iPerf3支持平台包括Linux、Windows、MaxOS,甚至支持Android。按照官网提供的方式一般系统都可以快速安装。

文章下边会用到OpenWrt、Windows11和CentOS系统下的Iperf3,先安装。

OpenWrt安装Iperf3

在OpenWrt的Web管理界面里,进入软件管理,搜索iperf3,直接“Install”即可。

或者通过命令安装:
opkg update
opkg install iperf3

Windows11安装Iperf3

打开windows版本的下载链接,找到适合系统的最新版本下载。

解压zip包,进入iperf3.exe所在的目录,空白处右单击,选择“在终端中打开”,终端中输入.\iperf3 -v,看到版本信息。

CentOS7安装Iperf3

Yum安装
yum -y install iperf3
安装完成,执行命令 iperf3 -v,可以看到版本信息。

使用iPerf3

使用iPerf3,需要一个服务端和一个客户端,两个端配合使用。下边以两个常用场景为例,演示一下iPerf3是怎么使用的。

注意:
1. 服务端的防火墙和端口过滤要放行5201端口,5201端口是iPerf3的默认监听端口
2. 被测两端尽量使用网线连接,wifi连接不稳定,最高速度也有限

场景一、测试J1900软路由的网卡速度

  1. 服务端
    服务端为J1900软路由,千兆网卡,使用OpenWrt系统。
    开启服务命令:
    iperf3 -s
    -s 参数为以服务器模式运行

  2. 客户端
    客户端为一台个人电脑,千兆网卡,使用Windows11操作系统。
    开始测试:
    .\iperf3 -c 192.168.8.8
    -c 192.168.8.8 参数为以客户端模式运行,并指定服务端ip

    两台设备通过网线直连,测出来的上传和下载速度平均 950Mbits 左右,千兆网卡实际速度差不多就是这样。
    测试时,服务端也有输出

场景二、测试家里宽带速度

  1. 服务端
    服务端为阿里云ECS,100Mbps带宽,CentOS7系统,防火墙已关闭,安全组开放5201端口。
    开启服务:
    iperf3 -s

  2. 客户端
    客户端为J1900软路由,千兆网卡,使用OpenWrt系统。
    开始测试:
    iperf3 -c 8.140.x.x

    测出来速度是40M多,我的是50M带宽,差的有点多,不能确定是测试链条上什么设备有瓶颈,还是带宽有水。

常用参数

通用参数

-v 查看版本信息
-p 指定端口号
-f 指定带宽输出单位(Kbits、Mbits、Gbits、Tbits)
-i 报告时间间隔(S)
-J 以json格式输出
--logfile 将输出重定向到文件

服务端参数

-s 以服务器模式运行
-D 以服务器模式在后台运行

客户端参数

-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 输出服务端的结果