2、性能监控指标体系:时延、抖动、丢包率、吞吐量、可用性指标定义与计算

各位好,咱们今天聊聊PTN网络里最核心的几个性能指标。说实话,我刚开始接触PTN的时候,也被这一堆术语搞得有点晕。什么时延、抖动、丢包率,听着都差不多,但实际排查故障时,每个指标指向的问题完全不一样。

我个人习惯把性能指标分成两类:一类是服务质量(QoS)指标,另一类是网络健康度指标。前者直接决定用户体验,后者反映网络本身的运行状态。咱们一个一个来拆解。

2.1 时延(Latency)—— 网络里的“等待时间”

时延,说白了就是数据包从A点跑到B点花了多长时间。单位通常是毫秒(ms)。

我在项目中遇到过一件事:某地市公司的视频会议总是卡顿,用户投诉说“画面一卡一卡的”。我上去一查,端到端时延达到了150ms。嗯,这个数值对于语音和视频来说,已经明显超标了。

时延由三部分组成:

  • 处理时延:设备查路由表、做转发决策的时间。一般几微秒到几十微秒。
  • 排队时延:数据包在队列里等前面的人先走。这个最不稳定,流量一拥塞就暴涨。
  • 传输时延:数据在链路上跑的时间。光纤里光速大约是2×10⁸ m/s,100公里大约0.5ms。

计算公式很简单:

端到端时延 = 处理时延 + 排队时延 + 传输时延
我的经验: 排查时延问题时,先看排队时延。如果设备CPU不高、链路带宽没跑满,但时延却很大,八成是队列配置有问题。我曾经被一个“尾丢弃”问题折腾了两天,最后发现是WRED参数设得太激进了。

2.2 抖动(Jitter)—— 时延的“忽快忽慢”

抖动,就是时延的变化量。你想想看,如果每个包的时延都是10ms,那很稳定。但如果第一个包5ms,第二个包15ms,第三个包又变成8ms……这种忽快忽慢的感觉,就是抖动。

为什么抖动这么重要?因为语音和视频业务对抖动极其敏感。人耳能感知的抖动阈值大约在30ms以内,超过这个值,声音就会变得“断断续续”或者“金属声”。

抖动的计算方式:

抖动 = |当前包时延 - 前一个包时延|

实际工程中,我们通常取一段时间内的平均抖动值,或者用峰峰值(最大时延 - 最小时延)来评估。

注意: 抖动和时延没有必然关系。一个网络可能时延很大(比如100ms),但抖动很小(比如±2ms),这种网络跑视频会议其实还行。反过来,时延只有20ms但抖动达到15ms,那体验反而更差。

2.3 丢包率(Packet Loss Rate)—— 数据“失踪”了

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

丢包率 = (丢失包数 / 总发送包数) × 100%

丢包的原因主要有三个:

  • 队列溢出:缓冲区满了,新来的包直接扔掉。这是最常见的原因。
  • 链路故障:光纤断了、光模块坏了,导致大量丢包。
  • CRC错误:数据在传输过程中被干扰,校验失败后被丢弃。

我记得有一次,某条链路的丢包率在0.1%左右徘徊。按说这个数值不算高,但用户反映业务时好时坏。我仔细一查,发现丢包是突发性的——平时不丢,一到业务高峰期就猛丢。这就是典型的队列溢出问题。

关键阈值:
  • 语音业务:丢包率 < 1%
  • 视频业务:丢包率 < 0.1%
  • 数据业务:丢包率 < 0.01%
超过这些值,用户大概率会投诉。

2.4 吞吐量(Throughput)—— 管道到底能跑多快

吞吐量,就是单位时间内成功传输的数据量。单位是bps(bit per second),或者更常用的Mbps、Gbps。

这里有个容易混淆的概念:带宽吞吐量。带宽是理论最大值,吞吐量是实际能达到的值。打个比方,带宽是高速公路的限速120km/h,吞吐量是你实际开到的速度——可能因为堵车只能开到60km/h。

吞吐量的计算:

吞吐量 = 成功传输的数据量 / 传输时间

我建议大家在监控吞吐量时,重点关注两个值:

  • 峰值吞吐量:一天中最高的时候,看是否接近带宽上限。
  • 平均吞吐量:长期趋势,用于做容量规划。
避坑指南: 我曾经遇到一个案例,监控显示吞吐量只有带宽的30%,但用户却说“网很慢”。后来发现是小包攻击——设备处理小包的能力有限,虽然带宽没跑满,但CPU已经100%了。所以,吞吐量不能只看带宽利用率,还要看包转发率(pps)。

2.5 可用性(Availability)—— 网络到底“靠谱”吗

可用性,衡量网络在给定时间内能正常提供服务的能力。公式:

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

通常用“几个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通”当作可用,结果业务其实已经中断了——因为路由表坏了,数据根本转发不出去。

我的建议: 可用性监控一定要结合业务视角。设备在线不代表业务可用。我一般会设置一个“业务探针”,模拟真实用户发几个包,能正常返回才算“可用”。否则,你看到的99.99%可能只是假象。

2.6 五个指标的关系——别孤立看问题

最后说一句,这五个指标不是孤立的。它们之间经常互相影响:

  • 丢包率高了,TCP会重传,导致吞吐量下降。
  • 吞吐量接近带宽上限,排队时延增加,抖动也会变大。
  • 可用性下降,往往伴随着大量丢包和时延飙升。

所以,排查问题时,我习惯把五个指标放在一张图上一起看。比如:

  • 如果时延和抖动同时升高,大概率是拥塞。
  • 如果只有丢包率升高,其他正常,可能是链路误码或光模块问题。
  • 如果吞吐量突然掉到0,那不用说了——设备挂了。

嗯,这一章的内容就到这里。下一章咱们聊聊怎么用工具把这些指标抓出来,以及如何搭建一套实用的监控系统。