首页/系统/Linux 内核与性能调优速查/iperf3 UDP 丢包与抖动测量
网络栈调优98 条

iperf3 UDP 丢包与抖动测量

UDP 模式输出丢包率与抖动, 适合评估实时业务的路径质量; 服务端会给出接收侧统计。

iperf3 的 UDP 模式

UDP 模式按指定速率发送报文,输出丢包率与抖动,适合评估实时音视频、游戏这类对时延抖动敏感的业务。UDP 没有拥塞控制,发送速率完全由参数决定,因此必须从低到高逐步校准,找出丢包开始出现的位置,而不是一上来就压满。

基本信息

基本用法iperf3 -c 10.0.0.2 -u -b 200M -t 30
发送速率-b 指定,需按目标带宽设定并逐步提高
关注指标Jitter 抖动与 Lost/Total 丢包
双端输出服务端也会给出接收侧统计
结果不一致时核对 -b 设置与服务端内核丢弃计数

典型使用场景

  • 评估音视频业务的路径质量与抖动水平
  • 确定某条链路在多大速率下开始出现丢包
  • 验证 QoS 或限速策略对丢包与抖动的影响
  • 跨地域链路的质量基线采集
  • 无线或公网链路的稳定性对比

用法

用法
iperf3 -c 10.0.0.2 -u -b 50M -t 30    # 从较低速率开始校准
iperf3 -c 10.0.0.2 -u -b 200M -t 30   # 逐步提高,观察丢包出现点
iperf3 -c 10.0.0.2 -u -b 200M -t 30 -R # 反向测试收向抖动
# 关注输出中的 Jitter(抖动) 与 Lost/Total(丢包) 两项

输出判读

指标含义判读
Jitter相邻报文到达间隔的波动实时业务关注该值是否稳定
Lost/Total丢包数与总包数从低速率就丢说明路径或接收端有问题
端到端延迟单向延迟估算依赖时钟同步未同步时钟时只看相对变化
服务端统计接收侧速率与丢弃与客户端结果互补

测试设计

  • 从低速率起步,按档位逐步提升,找到丢包拐点
  • 同一档位重复多轮,避免单次抖动的偶然结果
  • 同时观察两端接口与协议栈的丢弃计数
  • 记录测试窗口,避免与业务高峰重叠
两端结果不一致时,优先核对发送速率设置是否一致,再看接收端的协议栈丢弃计数;只看客户端输出容易把接收侧的问题误判为链路问题。
UDP 压测的本质是「以固定速率发」,速率越高越容易在接收端内核或应用层排队丢弃,因此丢包拐点并不等于链路带宽上限。

易错点

  • 速率一上来就设得很高,产生的丢包无法区分是本地应用、内核还是路径问题
  • 忽略服务端侧统计,客户端结果与接收端不一致时找不到原因
  • 单轮测试就下结论,忽略抖动带来的偶然性
  • 把 UDP 丢包拐点直接当成链路带宽上限,两者含义不同

数据来源与参考

  • iperf3 官方文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌