网络栈调优98 条

ping RTT 与抖动基线

延迟问题先用 ping 建立基线: 平均值与 mdev 波动是判断网络质量的入门手段。

ping 建立延迟基线

ping 是快速建立延迟基线最方便的工具:平均往返时间反映延迟水平,mdev 反映波动程度,丢包率反映链路稳定性。它测的是 ICMP 往返,与真实业务流量的路径和优先级可能不同,因此更适合作为基线参照与快速验证,而不是业务体验的最终结论。

基本信息

基本用法ping -c 20 -i 0.2 203.0.113.10
关注输出rtt 的 min/avg/max/mdev 与丢包率
指定出口-I eth1,用于对比不同网卡的结果
包大小-s 调整报文长度,可用于 MTU 相关验证
压力模式-f 需要事先获得授权,会占用大量带宽

典型使用场景

  • 新链路上线时建立延迟与丢包基线
  • 业务变慢时快速判断是否与网络有关
  • 对比不同出口网卡的延迟差异,排查策略路由问题
  • 用大包探测 MTU 与链路质量
  • 向运营商报障前提供量化数据

采样与对比

采样与对比
ping -c 20 -i 0.2 203.0.113.10              # 常规采样,观察平均值与波动
ping -c 100 -i 0.2 -s 1400 203.0.113.10     # 大包探测,观察 MTU 与丢包
ping -I eth1 203.0.113.10                   # 指定出口网卡对比路径差异
ping -f -c 1000 203.0.113.10                # 压力测试,需先获得授权

输出判读

输出项含义判读
rtt min/avg/max最小、平均、最大往返时间最大值远高于平均值说明存在抖动
mdev平均偏差,反映波动数值大表示延迟不稳定
packet loss丢包百分比持续丢包说明链路存在问题
icmp_seq 跳号请求丢失或超时与丢包率互相印证

判读注意

  • 单次 ping 结果不足以说明稳定期的延迟,需要足够次数的采样
  • ICMP 的优先级与业务流量不同,结论要标注这一前提
  • 禁 ICMP 的环境改用其他探测方式,例如 TCP 端口探测
  • 记录采样时间与目标,以便与后续结果对比
mdev 比平均值更能暴露问题:平均延迟正常但 mdev 很大时,用户体验往往已经开始抖动,这类现象在只看平均值的报告里会被忽略。
禁 ICMP 环境下丢包率会显示 100%,这不代表链路不通。此时应改用 TCP 或 UDP 层探测手段,并结合 mtr 的 TCP 模式。

易错点

  • 用单次 ping 判断长期延迟水平,忽略时间点差异
  • 忽略 ICMP 与应用流量的优先级和政策差异,结论外推过度
  • 在禁 ICMP 的环境里以丢包 100% 判定链路不通
  • 大幅提高发包频率做压力测试,未事先评估对链路与业务的影响

数据来源与参考

  • man ping
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌