SakuraCat设备线路说明

SakuraCat 工程

平均延迟不高,为何操作仍会偶尔卡住:样本窗口、尾部延迟与丢包怎么分

平均往返时延把整批成功样本压成一个数,少量极慢请求和丢包可能因此不显眼。判断偶发卡顿要同时保留较高分位数、最小值、最大值、丢包比例、测量端点、协议、时间窗口与原始样本。

测试页给出平均延迟25毫秒,看起来很平稳,打开页面却偶尔停住半秒。两种现象可以同时成立。平均值把一批成功样本压成一个数字,少量极慢样本和没有形成延迟值的丢包不会完整呈现在这个数字里。

判断偶发卡顿需要保留分布、丢包和测量上下文。平均值仍有价值,但它适合描述整体位置,不适合独自代表每次请求。

平均值为何会留下盲区

设一组十次成功测量中,九次是20毫秒,一次是200毫秒。平均值是38毫秒,比大多数样本高,却远低于最慢一次。读者只看到38毫秒,容易错过那次可能被感知的等待。

极慢样本数量越少,对平均值的影响越容易被稀释。反过来,一个离群值也会抬高平均值,让日常表现显得比多数样本更慢。因此,平均值既可能淡化尾部,也可能被极端值牵动。

平均值还取决于样本集合。不同端点、时段、协议、包大小和等待阈值会产生不同集合。没有这些上下文,两个平均值即使数字相同,也不一定能比较。

95分位数回答什么

IETF在RFC 8912中为往返延迟注册了95分位数指标。它是经验分布达到至少95%时对应的最小延迟值。直观地说,大约95%的有效样本不高于这个数。

95分位比平均值更容易显示较慢一端,却不是最大值。最慢约5%的样本仍可能远高于它。如果样本只有二十个,一个样本就占5%,分位数也会随样本量和排序规则明显变化。

分位数适合回答“大多数请求最慢到什么程度”。最大值回答“本批样本出现过多慢”。平均值则描述成功样本的总体位置。三个数字并列时,尾部形状才开始清楚。

丢包不会自动进入平均延迟

RFC 8912把延迟与丢包定义成独立输出。延迟统计只纳入等待阈值内成功到达、具有有限延迟值的分组。超过阈值的结果会被标为延迟未定义,并计入丢包。

这会形成一个重要边界:平均延迟可能只描述成功的部分。若少量分组一直没有返回,成功样本仍可保持低平均值,用户却会遇到重传、等待或操作失败。

等待阈值也会改变分类。RFC 7680指出,测量方法要区分真正丢失与极大但有限的延迟。阈值过短会把迟到分组算成丢失,阈值过长又会延后结果。

低丢包比例还需要足够样本。十次测量没有丢包,只能说明这十次都返回,不能证明长期比例为零。要比较很小的比例,观察窗口和样本数必须足以容纳差异。

最小值与最大值各有用途

最小值常接近当前路径在较少排队时的基线。它不能代表日常体验,却能帮助观察额外等待有多大。相对延迟以最小值为基线时,30毫秒到90毫秒可写成增加200%。

最大值保留本批样本中最慢的成功结果,容易受单一异常影响。它适合发现事件,不适合单独描述常态。最大值升高后,应查看发生时间和相邻样本,而不是直接认定整段网络都很慢。

RIPE Atlas的LatencyMON同时显示最小值、中间统计、最大值和丢包。ping采用平均往返时延,DNS、TLS和HTTP等测量使用中位数。指标名称必须跟测量类型一起读。

测量端点决定结论范围

RFC 8912要求报告源地址、目的地址、协议、包大小、等待阈值与起止时间等参数。这些字段不是附注,而是解释结果的条件。

ping测到的是探针与目标之间的往返过程。网页操作还可能包含DNS查询、TLS握手、服务器排队、脚本执行和本机渲染。往返延迟变慢能提供线索,却不能单独覆盖这些阶段。

方向也会影响判断。单向测量需要源端和目的端时钟同步;往返测量把去程和回程合在一起。看到往返值升高,无法只凭这个数字确定哪一方向发生变化。

图表聚合也会隐藏局部事件

LatencyMON可以把多个探针聚成一张图,也能拆成单探针视图。聚合便于看范围,但某个地区或探针的短事件可能被整体带状图淡化。

为了保持坐标可读,工具会裁剪极端离群值的轴显示,并用特殊标记提示。原始毫秒值没有被删除,读者需要悬停查看或放大时间窗口。

空白也不等于零延迟。RIPE文档说明,空白表示该时段没有收集到资料。把缺测写成正常,会把仪器或采集问题误当成网络结论。

设计一组可复查的观察记录

一条记录至少写明测量端点、协议、开始与结束时间、样本数和等待阈值。结果栏并列保存最小值、平均或中位数、95分位、最大值与丢包比例。

平均延迟不高,为何操作仍会偶尔卡住:样本窗口、尾部延迟与丢包怎么分 配图 1
平均延迟不高,为何操作仍会偶尔卡住:样本窗口、尾部延迟与丢包怎么分 配图 1

卡顿发生时,记录具体时间和动作,例如首次打开页面、开始下载或提交请求。之后把这个时间与原始样本对齐,查看是否同时出现尾部延迟、丢包或缺测。

需要做对照时,保持测量方法一致。若更换目标、协议、包大小和时段,差异可能来自条件变化。每次只记录一个清楚的场景,结论才有可复查范围。

指标不能单独定位责任方

若平均、95分位和最大值都接近,丢包也没有变化,卡顿仍可能来自DNS、TLS、服务器处理或本机任务。当前分组测量没有观察这些阶段,不能据此排除它们。

若95分位和最大值在卡顿时同步上升,说明该端点的往返样本出现较慢一端。它仍没有指出排队发生在家庭网络、接入网、中间路径还是目标端。

一次测试也不能代表全天。时段、共享链路负载、无线环境和目标服务都会变化。可靠做法是用相同方法跨多个相关时段重复观察,并保留没有符合假设的反例。

平均值适合看整体,尾部分位和最大值负责揭示较慢事件,丢包保留未成功传输,测量上下文限定结论范围。把这些证据放回同一条时间线,偶发卡顿才不会被一个漂亮的平均数盖住。

资料来源

  • 互联网工程任务组:《RFC 8912: Initial Performance Metrics Registry Entries》,发布或更新于 2021-11-01
  • 互联网工程任务组:《RFC 7680: A One-Way Loss Metric for IP Performance Metrics》,发布或更新于 2016-01-01
  • RIPE NCC:《RIPE Atlas LatencyMON Documentation》,发布或更新于 2026-07-28

参考资料

  • 互联网工程任务组,《RFC 8912:初始性能指标注册项》,2021年11月。
  • 互联网工程任务组,《RFC 7680:IP性能测量单向丢包指标》,2016年1月。
  • RIPE NCC,《RIPE Atlas LatencyMON文档》,读取于2026年7月28日。