Linux iperf 命令
iperf 是一个专业的网络性能测试工具,用于测量 TCP 和 UDP 带宽性能。它能够报告带宽、延迟抖动和数据包丢失等网络性能指标。
iperf 的主要特点:
- 支持 TCP 和 UDP 测试
- 可以调整各种参数如 TCP 窗口大小、UDP 带宽等
- 支持双向测试(同时上传和下载)
- 跨平台支持(Linux、Windows、macOS 等)
安装 iperf
Linux 系统安装
在大多数 Linux 发行版中,可以通过包管理器安装:
实例
# Debian/Ubuntu
sudo apt-get install iperf3
# CentOS/RHEL
sudo yum install iperf3
# Fedora
sudo dnf install iperf3
# Arch Linux
sudo pacman -S iperf3
sudo apt-get install iperf3
# CentOS/RHEL
sudo yum install iperf3
# Fedora
sudo dnf install iperf3
# Arch Linux
sudo pacman -S iperf3
Windows 安装
可以从 iperf 官网 下载预编译的二进制文件。
基本使用方法
iperf 采用客户端-服务器模式工作。需要在一台机器上运行服务器,另一台作为客户端连接测试。
启动 iperf 服务器
iperf3 -s
默认监听 5201 端口,可以使用 -p
参数指定其他端口:
iperf3 -s -p 5001
客户端连接测试
iperf3 -c
例如测试到 192.168.1.100 的带宽:
iperf3 -c 192.168.1.100
常用参数说明
通用参数
参数 | 说明 |
---|---|
-p |
指定端口号 |
-t |
测试时间(秒),默认 10 秒 |
-i |
间隔时间(秒)报告一次结果 |
-f |
显示单位(Kbits, Mbits, KBytes, MBytes) |
-V |
显示版本信息并退出 |
-h |
显示帮助信息 |
服务器端参数
参数 | 说明 |
---|---|
-s |
以服务器模式运行 |
-D |
以守护进程模式运行 |
客户端参数
参数 | 说明 |
---|---|
-c |
以客户端模式运行,后接服务器地址 |
-u |
使用 UDP 协议而非 TCP |
-b |
设置目标带宽(UDP 模式) |
-w |
设置 TCP 窗口大小 |
-P |
并行连接数 |
-R |
反向测试(服务器发送,客户端接收) |
实际应用示例
1. 基本 TCP 带宽测试
服务器端:
iperf3 -s
客户端:
iperf3 -c 192.168.1.100
输出示例:
[ ID] Interval Transfer Bitrate [ 4] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec
2. UDP 带宽测试
服务器端:
iperf3 -s
客户端(测试 100Mbps UDP):
iperf3 -c 192.168.1.100 -u -b 100M
3. 多线程测试
使用 4 个并行连接:
iperf3 -c 192.168.1.100 -P 4
4. 双向同时测试
服务器端:
iperf3 -s
客户端:
iperf3 -c 192.168.1.100 --bidir
5. 长时间测试(60秒)
iperf3 -c 192.168.1.100 -t 60
结果解读
iperf 测试结果通常包含以下信息:
- Interval:测试时间区间
- Transfer:传输的数据量
- Bitrate:带宽(比特率)
- Retr:TCP 重传次数(仅 TCP)
- Jitter:抖动(仅 UDP)
- Lost/Total Datagrams:丢包率(仅 UDP)
对于网络质量评估:
- TCP 测试更适合测量最大可用带宽
- UDP 测试可以测量抖动和丢包率,对实时应用(如 VoIP、视频会议)更重要
高级用法
1. 设置 TCP 窗口大小
iperf3 -c 192.168.1.100 -w 256K
2. 测试特定端口
实例
# 服务器
iperf3 -s -p 5001
# 客户端
iperf3 -c 192.168.1.100 -p 5001
iperf3 -s -p 5001
# 客户端
iperf3 -c 192.168.1.100 -p 5001
3. 输出到文件
iperf3 -c 192.168.1.100 --logfile result.txt
4. JSON 格式输出
iperf3 -c 192.168.1.100 -J
常见问题解决
1. 连接被拒绝
确保:
- 服务器端 iperf 已启动
- 防火墙允许 iperf 端口(默认 5201)
- 客户端使用正确的 IP 和端口
2. 带宽测试结果远低于预期
可能原因:
- 网络中存在瓶颈(交换机、路由器限制)
- 网卡设置问题(检查双工模式、速度)
- 系统资源不足(CPU、内存占用过高)
3. UDP 测试丢包率高
建议:
- 降低 UDP 带宽目标值
- 检查网络设备 QoS 设置
- 测试不同时间段网络状况
实际应用场景
- 网络设备验收:验证新部署的网络设备性能
- 带宽监控:定期测试网络带宽变化
- 故障排查:定位网络性能问题
- QoS 验证:测试服务质量策略效果
- 无线网络测试:评估 WiFi 信号强度和稳定性
总结
iperf 是网络工程师必备的带宽测试工具,通过本文您应该已经掌握了:
- iperf 的基本工作原理
- 服务器和客户端的启动方法
- 常用参数和使用示例
- 测试结果的分析方法
- 常见问题的解决方案
建议在实际网络环境中多进行测试练习,熟悉不同参数组合的效果,以便在需要时能够快速准确地评估网络性能。
点我分享笔记