性能·网络 / 命令文档

iperf3

$ iperf3 1 个章节 Linux 命令详解

概述

网络性能测试瑞士军刀

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+ 支持带宽

跨平台 兼容性

开源免费 成本优势

同分类 · 其他命令文档