当使用iperf3进行网络测速时,可以通过在一个服务器上运行iperf3服务器端,然后在另一个客户端机器上运行iperf3客户端来测试两个设备之间的带宽和延迟情况。iperf3可以提供详细的网络性能数据,包括带宽、延迟、数据包丢失率等指标。

官方网站:https://iperf.fr/

安装

brew install iperf3 # MacOS
apt install iperf3 # Ubuntu
yum install iperf3 # CentOS

启动服务端

参数

解释

-s

以服务器模式启动

-D

以守护进程模式运行

-p

定义端口号

-i

设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认为0

# 启动iperf3服务端
iperf3 -s -i 10 -p 5201
# -s 以服务器模式启动
# -D 以守护进程模式运行
iperf3 -s -D
#服务端使用自定义端口
# -s 以服务器模式启动
# -p    定义端口号;
# -D 以守护进程模式运行
iperf3 –s –p 1000 -D

客户端测速

参数

解释

-c

指定服务器地址

-p

服务器的端口号

-u

使用udp协议

-b

指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s

-n

指定传输的字节数

-t

指定Iperf测试时间,默认10秒

-i

设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零

-F

传输或接收特定的文件

-P

客户端到服务器的连接数,默认值为1

-T

指定ttl值

-w

设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值

--logfile

参数可以将输出的测试结果储存至文件中

-J

来输出JSON格式测试结果

-R

反向传输(测试下载速度)

上传测速

# 默认是测试的上传速度
# -c    表示服务器的IP地址;
iperf3 -c 测速服务器IP
# (-P)多线程
# -P 线程数
iperf3 -c 10.169.xxx.xxx -t 60 -P 2 
#客户端UDP测速(上传) 
#UDP测速默认只有1M,需要准确测速需要加-b参数指定最大带宽
# -c  表示服务器的IP地址;
# -u  使用udp协议;
# -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
# -t  持续时间60s
iperf3 –c 10.169.xxx.xxx -u -b 1000M -t 60

下载测速

# 测试下载测速
# -R 下载
iperf3 -c 10.169.xxx.xxx -R -P 1
#客户端UDP测速(下载-R)
# -u  使用udp协议;
# -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
# -R 下载
iperf3 -c 10.169.xxx.xxx-u -b 1000M -R
# 客户端持续60s(下载-R)
# -u  使用udp协议;
# -p  指定端口
# -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
# -R 下载
iperf3 -c 10.169.xxx.xxx -u –p 55 -b 1000M –t 60 -R
# (-P)多线程下载
# -u  使用udp协议;
# -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
# -t  持续事件
# -P  线程数
# -R 下载
iperf3 -c 10.169.xxx.xxx -u -b 100M -t 60 -P 2 -R

公共测速服务器

https://iperf.fr/iperf-servers.php