网络测速工具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软路由的网卡速度
-
服务端
服务端为J1900软路由,千兆网卡,使用OpenWrt系统。
开启服务命令:
iperf3 -s
-s
参数为以服务器模式运行
-
客户端
客户端为一台个人电脑,千兆网卡,使用Windows11操作系统。
开始测试:
.\iperf3 -c 192.168.8.8
-c 192.168.8.8
参数为以客户端模式运行,并指定服务端ip
两台设备通过网线直连,测出来的上传和下载速度平均 950Mbits 左右,千兆网卡实际速度差不多就是这样。
测试时,服务端也有输出
场景二、测试家里宽带速度
-
服务端
服务端为阿里云ECS,100Mbps带宽,CentOS7系统,防火墙已关闭,安全组开放5201端口。
开启服务:
iperf3 -s
-
客户端
客户端为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
输出服务端的结果