iperf3
是一个用于网络性能测试的工具,主要用于测试带宽、延迟、丢包等网络相关指标。它支持 TCP、UDP 测试,还可以测量单向和双向流量。以下是 iperf3
的安装、基本使用方法和常见选项:
1. 安装 iperf3
在大多数 Linux 发行版上可以直接通过包管理器安装 iperf3
:
-
Debian/Ubuntu:
sudo apt update sudo apt install iperf3
-
CentOS/RHEL:
sudo yum install epel-release sudo yum install iperf3
-
Fedora:
sudo dnf install iperf3
-
macOS (通过 Homebrew):
brew install iperf3
2. 基本用法
iperf3
需要一个服务器端和一个客户端进行测试。服务器端负责接收数据,客户端负责发送数据。
启动服务器端:
在一台机器上运行以下命令,启动 iperf3
服务器,默认端口为 5201:
iperf3 -s
-s
:启动为服务器模式。
你会看到类似的输出:
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
启动客户端并连接到服务器:
在另一台机器上,运行以下命令连接到服务器并进行带宽测试(需要知道服务器的 IP 地址):
iperf3 -c <server_ip_address>
-c
:客户端模式,并指定服务器 IP 地址。
运行后会显示带宽测试结果,默认测试持续 10 秒:
Connecting to host 192.168.1.1, port 5201
[ 5] local 192.168.1.2 port 50000 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec
3. 常见选项
指定测试时间:
默认的测试时间是 10 秒,你可以使用 -t
选项来指定测试时长(单位为秒):
iperf3 -c <server_ip_address> -t 30
这会进行 30 秒的测试。
指定传输方向:
默认情况下,iperf3
只测试从客户端到服务器的单向传输。如果需要测试双向传输(同时上传和下载),可以使用 -R
选项:
iperf3 -c <server_ip_address> -R
-R
:测试从服务器到客户端的流量(反向模式)。
并发连接测试:
你可以使用 -P
选项来指定多个并发连接,来测试多路传输的性能:
iperf3 -c <server_ip_address> -P 5
-P 5
:使用 5 个并发连接进行测试。
UDP 测试:
默认情况下,iperf3
使用 TCP 协议。你可以使用 -u
选项来进行 UDP 性能测试:
iperf3 -c <server_ip_address> -u
你还可以通过 -b
选项指定 UDP 带宽,例如 1 Gbps:
iperf3 -c <server_ip_address> -u -b 1G
-b
:指定带宽,默认单位是比特每秒(bps),也可以使用M
或K
表示兆比特和千比特。
指定端口:
默认情况下,iperf3
使用端口 5201。如果你想使用不同的端口,可以使用 -p
选项来指定端口:
iperf3 -s -p 5001 # 服务器端使用 5001 端口
iperf3 -c <server_ip_address> -p 5001 # 客户端连接 5001 端口
测量延迟和抖动(UDP 测试):
在 UDP 模式下,iperf3
还可以测量抖动和丢包率:
iperf3 -c <server_ip_address> -u -b 10M
测试结果会包括丢包、抖动等信息。
4. 查看服务端详细日志
使用 iperf3
的服务端可以加上 -V
选项来查看详细的调试日志:
iperf3 -s -V
5. 保存测试结果到文件
你可以将 iperf3
的输出结果保存到文件中,方便后续分析:
iperf3 -c <server_ip_address> -o result.txt
-o result.txt
:将测试结果保存到result.txt
文件。
总结
- 启动服务器:
iperf3 -s
- 启动客户端:
iperf3 -c <server_ip>
- TCP 测试:默认进行 TCP 测试,显示带宽。
- UDP 测试:
iperf3 -u -c <server_ip>
,测试 UDP 带宽、丢包、延迟等。 - 常见选项:
-t
测试时间、-P
并发连接数、-R
反向传输等。
iperf3
是一个强大的网络测试工具,能够帮助你了解网络的带宽、稳定性和性能瓶颈。