性能·网络 / 命令文档
iperf3
概述
网络性能测试瑞士军刀
TCP/UDP测试 带宽测量 Linux运维必备
核心功能特性
双向带宽测试 - 同时测试上传和下载速度
TCP/UDP协议支持 - 全面网络协议覆盖
多线程并发 - 模拟真实网络负载
精确时间控制 - 自定义测试持续时间
JSON输出格式 - 便于脚本自动化处理
实时统计显示 - 动态监控网络性能
版本优势:iperf3相比iperf2重新设计了架构,提供更精确的测量结果和更好的跨平台兼容性
基础使用命令
服务器端启动
iperf3 -s # 默认端口5201 iperf3 -s -p 8080 # 指定端口 iperf3 -s -D # 后台daemon模式
客户端测试
iperf3 -c SERVER_IP # 基础TCP测试 iperf3 -c SERVER_IP -u # UDP测试 iperf3 -c SERVER_IP -P 4 # 4个并行连接 iperf3 -c SERVER_IP -t 30 # 测试30秒 iperf3 -c SERVER_IP -R # 反向测试(下载)
高级参数配置
性能调优参数
-w 256K # 设置TCP窗口大小 -M 1460 # 设置TCP MSS值 -l 64K # 设置缓冲区长度 -i 1 # 每1秒显示一次结果 -O 3 # 忽略前3秒数据(热身) -J # JSON格式输出
UDP特殊参数
-b 100M # 设置UDP带宽为100Mbps -u # UDP模式 --get-server-output # 获取服务器端统计
提示:UDP测试需要指定带宽,否则可能造成网络拥塞
运维注意事项
防火墙配置 - 确保测试端口(默认5201)开放
网络拥塞 - UDP测试可能影响生产网络,建议限制带宽
系统资源 - 高并发测试会消耗大量CPU和内存
测试时机 - 避免在业务高峰期进行大规模测试
结果解读 - 注意区分理论带宽与实际可用带宽
安全考虑 - 生产环境建议使用认证和加密
最佳实践:
• 测试前先用小带宽验证连通性
• 多次测试取平均值提高准确性
• 记录测试时的系统负载情况运维实战场景
网络故障排查
# 基础连通性测试 iperf3 -c target_host -t 10 # 丢包率检测 iperf3 -c target_host -u -b 10M -t 60 # 多路径负载均衡测试 iperf3 -c target_host -P 8 -t 30 # 性能测试 iperf3 -s -i 1 -p 10000 #本机 iperf3 -c 127.0.0.1 -b 1G -t 15 -P 2 -p 10000 #他机
性能基准测试
# 自动化脚本测试 iperf3 -c server -J > result.json # 双向性能测试 iperf3 -c server --bidir -t 60
存在价值与意义
网络容量规划 - 为基础设施扩容提供数据支撑
SLA验证 - 验证网络供应商承诺的带宽指标
故障快速定位 - 区分网络问题与应用问题
性能优化指导 - 识别网络瓶颈点和优化方向
变更影响评估 - 网络配置变更前后性能对比
监控告警基线 - 建立网络性能监控基准值
99.9% 精确度
10Gbps+ 支持带宽
跨平台 兼容性
开源免费 成本优势