首页/网络/网络排障速查/iperf3 基础:TCP 吞吐与重传计数

iperf3 基础:TCP 吞吐与重传计数

点到点带宽的标准工具:服务端 iperf3 -s,客户端 iperf3 -c;结果里的 Retr 列直接给出重传次数,是判断路径质量的硬指标。

网络排障速查网络更新于 2026-10-13

iperf3 是什么

iperf3 是点到点带宽测试的标准工具:一端以服务端模式监听,另一端作为客户端发起测试,结果给出实际吞吐、重传次数与抖动。它的价值不是「跑出一个大数字」,而是给出网络层的能力上限,以及与之配套的质量指标——重传计数能直接反映路径丢包,UDP 模式还能测出抖动与丢包率。把业务实际速率与这个上限对比,就能判断瓶颈是在网络还是在应用侧。

基本信息

运行方式一端以服务端模式启动并保持运行,另一端以客户端模式发起测试
默认端口5201,测试前需在两端策略中放行
常用参数测试时长、并行流数、反向测试、忽略开头若干秒
结果要点发送与接收速率、重传计数、抖动与丢包(UDP)
对比原则发送与接收速率明显不一致,说明途中存在丢包

典型使用场景

  • 新开通链路验收:用实际吞吐与合同带宽对比
  • 跨地域访问慢:区分是链路能力不足还是时延与窗口限制
  • 丢包定位:看重传计数是否显著非零,配合接口计数交叉验证
  • 扩容决策:确认瓶颈是带宽还是时延,避免无效扩容
  • 整改验证:换线路或调整参数后重跑同一组测试做对照

基本流程

基本流程
iperf3 -s                                  # 服务端侧启动并等待连接
iperf3 -c <服务端IP> -t 10                 # 10 秒 TCP 正向测试
iperf3 -c <服务端IP> -t 10 -R              # 反向测试:由服务端发往客户端
iperf3 -c <服务端IP> -P 4 -t 10            # 4 条并行流,更接近链路总能力
iperf3 -c <服务端IP> -O 3 -t 13            # 忽略前 3 秒,避开慢启动阶段
iperf3 -c <服务端IP> -u -b 200M -t 10      # UDP:指定目标带宽,看丢包与抖动
iperf3 -c <服务端IP> -t 10 -J > /tmp/iperf.json   # 结构化输出,便于留档与比对

结果列读法

列含义异常表现
Interval采样区间与时间首段速率偏低多为慢启动,可用忽略前几秒的参数规避
Transfer该区间传输的数据量与速率结合判断是否为瞬时突发
Bitrate该区间速率远低于链路标称时要继续查时延与重传
Retr(TCP)重传次数显著非零说明路径存在丢包,是链路质量的硬指标
Jitter(UDP)抖动抖动偏大时实时业务先受影响
Lost/Total(UDP)丢包数与占比占比升高说明链路或对端处理能力不足
TCP 测试跑满线速不代表业务能跑满:业务还会受并发模型、协议开销、磁盘与锁的限制。iperf3 给出的是网络层上限,用来判断「还有没有余量」。
UDP 模式要显式指定目标带宽,默认值偏低,测不出链路真实承载能力;同时注意 UDP 结果反映的是「发送端发出去」的视角,需要结合两端数据判断丢在哪里。

易错点

  • 测试两端不在同一路径上,结果没有可比性,先确认路由对称
  • 忘记放行默认端口就断言网络不通
  • 不做预热忽略慢启动阶段,把前几秒的低速算进平均,结论偏低
  • 只测单向就下结论,回程路径可能完全不同
  • UDP 测试不指定目标带宽,用默认值跑出来的结果无法反映链路能力

数据来源与参考

  • iperf3 官方文档(ESnet)
  • RFC 9293:TCP 吞吐特性

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌