2. SLA核心指标:可用性、延迟、抖动、丢包率、吞吐量的定义与计算

各位好,我是老张。今天咱们聊聊SLA的五个核心指标。说实话,这五个指标我几乎每天都在跟它们打交道。你想想看,一条专线好不好,客户满不满意,说白了就是看这五个数字。

我记得刚入行那会儿,有个客户投诉说网络慢,我查了半天带宽利用率才30%,心想这不挺好吗?后来才发现,延迟和抖动才是罪魁祸首。嗯,从那以后我就明白了——只看一个指标,容易掉坑里。

核心观点:五个指标不是孤立的,它们共同决定了用户体验。任何一个指标出问题,SLA都可能不达标。

2.1 可用性(Availability)

可用性,说白了就是线路能用的时间占比。公式很简单:

可用性 = (总时间 - 故障时间) / 总时间 × 100%

举个例子:一条专线一个月(30天)里,故障了2小时。那么:

可用性 = (720 - 2) / 720 × 100% = 99.72%

我个人习惯用“9”的个数来衡量。99%是两个9,99.9%是三个9,99.99%是四个9。不同等级对应不同的年故障时间:

可用性等级 年故障时间 典型场景
99%(2个9) 87.6小时 普通办公网络
99.9%(3个9) 8.76小时 企业专线
99.99%(4个9) 52.56分钟 金融交易系统
99.999%(5个9) 5.26分钟 核心骨干网

避坑指南:我曾经遇到过客户把“可用性”和“连通性”搞混。连通性只是能ping通,可用性还要考虑带宽、延迟等是否达标。别被ping通就以为万事大吉了。

2.2 延迟(Latency)

延迟就是数据从A点到B点的时间。单位通常是毫秒(ms)。

我常用的测量方法是ICMP ping,但说实话,这只能做个参考。真正要测,得用专业的探针或者抓包分析。

# 简单测延迟
ping -c 10 192.168.1.1

# 结果示例
rtt min/avg/max/mdev = 1.234/1.567/2.345/0.123 ms

这里avg就是平均延迟。为什么看平均?因为单次延迟可能有偶然性,取平均更稳定。

延迟的组成其实有三段:

  • 传播延迟:光在光纤里跑的时间,物理定律,改不了
  • 处理延迟:路由器、交换机处理数据包的时间
  • 排队延迟:数据包在队列里等着被转发的时间

你想想看,前两个基本固定,能优化的主要是排队延迟。所以当延迟突然升高时,我第一反应就是——是不是哪里堵了?

2.3 抖动(Jitter)

抖动,就是延迟的变化量。公式:

抖动 = |当前延迟 - 上一个延迟|

或者更专业的:

抖动 = 延迟的标准差

为什么抖动这么重要?我举个例子:你打视频电话,延迟200ms其实还能忍,但如果延迟在100ms到300ms之间来回跳,画面就会一卡一卡的,声音也断断续续。

我的经验:对于VoIP和视频会议,抖动比延迟更致命。我曾经帮一个客户排查视频卡顿问题,延迟只有30ms,但抖动高达50ms。后来发现是某台交换机缓存设置有问题,调整后抖动降到5ms以内,问题解决。

一般建议:

  • 语音业务:抖动 < 30ms
  • 视频业务:抖动 < 50ms
  • 普通数据:抖动 < 100ms

2.4 丢包率(Packet Loss)

丢包率,就是发送的数据包中,有多少没到达目的地。公式:

丢包率 = 丢失的数据包 / 发送的总数据包 × 100%

测丢包,我一般用这个命令:

# 发送1000个包,看丢了多少
ping -c 1000 -i 0.01 目标IP

注意这里的 -i 0.01,间隔10毫秒发一个包,模拟真实业务流量。如果间隔太大,测出来的丢包率可能偏乐观。

丢包率的影响:

  • 0%:完美,但现实中很难
  • < 0.1%:优秀,大多数业务无感
  • 0.1% - 1%:一般,TCP会重传,速度下降
  • > 1%:糟糕,视频卡顿、文件传输失败

注意:我曾经遇到一个案例,丢包率只有0.5%,但客户说文件传输特别慢。后来发现是丢包集中在某个时间段,导致TCP频繁进入拥塞控制。所以,不仅要看平均值,还要看分布。

2.5 吞吐量(Throughput)

吞吐量,就是单位时间内能传输的数据量。单位是bps(比特每秒),或者更常用的Mbps、Gbps。

测吞吐量,我推荐用iPerf:

# 服务端
iperf3 -s

# 客户端
iperf3 -c 服务器IP -t 30 -P 4

这里 -t 30 表示测30秒,-P 4 表示用4个并行流。为什么要并行?因为单流可能跑不满带宽,尤其是高延迟链路。

吞吐量和带宽的区别,很多人搞混:

  • 带宽:理论最大值,比如你买了100M专线
  • 吞吐量:实际能跑到的值,受延迟、丢包、协议等因素影响

说白了,带宽是上限,吞吐量是实际表现。我见过不少客户,买了1G带宽,实际吞吐量只有200M,还以为是运营商的问题。结果一查,是自己的服务器网卡或者磁盘IO跟不上。

2.6 五个指标的关系

这五个指标不是独立的。我画了一张图,帮你理清关系:

用户体验 SLA达标 可用性 99.9% 延迟 <50ms 抖动 <30ms 丢包率 <0.1% 吞吐量 ≥90%带宽 影响 影响 影响 影响 影响

你看这张图,五个指标都指向用户体验。任何一个指标出问题,用户体验都会打折。比如:

  • 丢包率高 → TCP重传 → 吞吐量下降
  • 抖动大 → 视频卡顿 → 用户感知差
  • 延迟高 → 吞吐量上不去(TCP窗口限制)

我的建议:做SLA保障时,别只盯着一个指标。我习惯做一个“五维雷达图”,把五个指标都画上去,一眼就能看出短板在哪里。比如延迟和抖动都很好,但丢包率偏高,那问题大概率出在中间链路的某台设备上。

2.7 实战中的计算技巧

最后,分享几个我常用的计算技巧:

  1. 可用性计算:别按月算,按季度算更合理。一个月偶然故障一次,可用性可能掉到99.5%,但拉长到季度,可能还是99.9%。
  2. 延迟采样:我一般取P50、P95、P99三个值。P50代表典型值,P95代表大多数情况,P99代表极端情况。
  3. 抖动计算:用连续采样,别用间隔采样。间隔采样会漏掉短时抖动。
  4. 丢包率:区分“突发丢包”和“持续丢包”。突发丢包可能是链路切换,持续丢包可能是光衰或设备故障。
  5. 吞吐量:记得考虑TCP overhead。实际吞吐量 ≈ 带宽 × (1 - 丢包率) × 效率因子(通常0.8-0.95)。

好了,这五个指标的定义和计算就讲到这里。记住,指标是死的,人是活的。关键是要理解每个指标背后的业务含义,这样才能真正做好SLA保障。

专注资料整理