什么是 iperf3
?
iperf3
是一个强大的网络性能测试工具,用于测量网络的带宽、延迟和抖动等指标。它支持多种协议(如 TCP、UDP 和 SCTP),并提供详细的网络性能分析结果。
相比 iperf2
,iperf3
是重新设计的,功能更简单、更高效。
iperf3
的主要功能
- 带宽测试:测量网络的最大可用带宽。
- 延迟和抖动测试:评估网络质量。
- TCP 和 UDP 支持:支持流量控制和数据包丢失率分析。
- 多平台支持:可在 Linux、Windows、macOS 等多种操作系统上运行。
- 客户端-服务端模式:一个端作为服务器监听,另一个端作为客户端发送流量。
- 多流支持:通过
-P
参数模拟多条并发流量。
安装方法
在 Linux 上安装(通过包管理器):
sudo apt install iperf3 # Ubuntu/Debian sudo yum install iperf3 # CentOS/RHEL
在 macOS 上安装(通过 Homebrew):
brew install iperf3
在 Windows 上安装:
- 从官网或相关社区下载可执行文件:iperf.fr/iperf-download.php。
基本用法
1. 启动服务端
在一台设备上运行服务端,用于监听连接:
iperf3 -s
服务端默认监听 TCP/UDP 的 5201 端口。可以通过 -p
参数指定其他端口,例如:
iperf3 -s -p 12345
2. 启动客户端
在另一台设备上运行客户端,连接服务端并测试带宽:
iperf3 -c <服务端IP地址>
例如:
iperf3 -c 192.168.1.100
默认会发送 TCP 流量并显示带宽结果。
常用选项
服务端选项
-s
:启动服务端模式。-p <端口号>
:指定监听端口。--logfile <文件名>
:将测试结果保存到指定文件。
客户端选项
-c <服务端IP>
:连接服务端。-p <端口号>
:指定服务端的端口(默认 5201)。-u
:使用 UDP 协议。-b <带宽>
:设置发送的最大带宽(UDP 模式)。例如-b 10M
表示 10 Mbps。-t <时间>
:测试时长(默认 10 秒)。-i <间隔>
:显示间隔报告的时间(默认每 1 秒报告一次)。-R
:反向测试,从服务端发送流量到客户端。-P <并发流数>
:指定并发流的数量,用于测试多流带宽。
示例
TCP 测试(默认):
iperf3 -s # 服务端 iperf3 -c 192.168.1.100 # 客户端
UDP 测试:
iperf3 -s iperf3 -c 192.168.1.100 -u -b 50M # 客户端,指定带宽为 50 Mbps
双向测试(正反向带宽测试):
iperf3 -s # 服务端 iperf3 -c 192.168.1.100 -R # 客户端反向测试 iperf3 -c 192.168.1.100 --bidir # 客户端同时测试双向流量
指定测试时长:
iperf3 -s iperf3 -c 192.168.1.100 -t 30 # 测试 30 秒
多流测试:
测试 10 条并发流:iperf3 -s iperf3 -c 192.168.1.100 -P 10 # 客户端发起 10 条并发流
保存测试结果:
服务端保存日志:iperf3 -s --logfile server_log.txt
客户端保存日志:
iperf3 -c 192.168.1.100 > client_log.txt
结果解析
运行后会显示测试结果,包括:
- 传输数据量(Transfer):测试期间总共发送的数据。
- 平均带宽(Bandwidth):网络的平均传输速率。
- 丢包率(UDP 模式):显示数据包的丢失率。
- 延迟和抖动(UDP 模式):评估网络的延迟和波动性。
- 多流结果:如果使用
-P
参数,将显示每条流和总流量的带宽数据。
适用场景
- 测试网络的最大吞吐量(如服务器间带宽)。
- 排查网络性能瓶颈(如延迟、丢包等)。
- 验证 QoS 配置和优化网络性能。
- 模拟并发流量,测试网络设备的性能。
有了补充后的示例和说明,iperf3
的使用更加全面,满足更多网络测试需求!