UPTIME · 可用性与统计口径
快喵VPN 在 90 天窗口里累计 88.6 分钟不可用:按分钟口径读作 99.932%,按天口径读作 98.89%。本页把分母、探针、判定规则与维护窗口归属逐项写清,供复算。
01 / 分母
口径之争几乎都出在分母上。分母是分钟,读数会接近满分;分母是天,一天的降级就会拉低一个点。先说清楚这一点,后面的数字才有意义。
快喵VPN 的 90 天窗口里累计 88.6 分钟完全不可用。按分钟口径算,分母 129600 分钟,可用性 99.932%。按天口径算,分母 90 天,其中 1 天不可用,可用性 98.89%。两个数字来自同一批探针记录,差别只在分母。
7 分钟的不可用在 129600 分钟里占 0.005%,读数几乎不动。这既是优点也是缺点:优点是不会因为一次短事故把整体读数打崩,缺点是长尾的小事故容易被平均数掩盖。
日历天是双方都能独立核对的最小单位,所以对外核算多用天。代价是 1 分钟的不可用和 23 小时的不可用,在按天口径里扣的分一样多。
| 项目 | 按分钟口径 | 按天口径 |
|---|---|---|
| 分母 | 129600 分钟(90 × 1440) | 90 天 |
| 分子扣减 | 88.6 分钟 | 1 天 |
| 读数 | 99.932% | 98.89% |
| 对 7 分钟事故的反应 | 扣 0.005 个百分点 | 扣 1.11 个百分点 |
| 适合用途 | 判断链路质量与趋势 | 对外承诺与日历核对 |
| 不适合用途 | 与按天承诺直接对照 | 评估短时抖动的影响 |
一个可用性读数由三件事共同决定。分母决定读数的量级,判定决定哪些探测算失败,归属决定哪些失败计入分子扣减。三者缺一,读数就无法复算。
只给一个口径,读者无法判断这个数字是偏乐观还是偏保守。两个都给,读者能看到区间:真实情况在 98.89% 与 99.932% 之间,具体取哪个取决于问的是什么问题。
年度核算用按天口径。原因是日历天可以独立核对,而分钟级数据需要访问原始探测记录,外部无法验证。代价是按天口径对短事故过于严厉。
02 / 探针
可用性不是“有人用着没报错”,而是“探针按时发起的探测有没有成功”。探针的位置、频率与判定方式决定了读数的分辨率。
握手成功说明三件事同时成立:路由可达、端口开放、服务端在监听。它比 ICMP 更接近真实业务,也比完整业务请求更便宜,单次耗时通常在 100 毫秒以内。
握手只验证“能连上”,不验证“会话还在”。心跳回环验证的是会话层的存活,两者都通过才算一次成功探测。只有握手成功而心跳失败的记录,会被单独标记为半开状态。


03 / 窗口
维护窗口是最容易产生争议的一项。把计划内维护排除在外,读数会好看;不排除,读数更保守。本站的做法是分开算、分开写。
90 天里有一次计划内配置变更(2026-11-02),持续 19 分钟,期间新建连接失败。这 19 分钟不计入不可用分钟数,但在事件记录里单独列一条,并标注为计划内。
三条里有一条不满足,这段时间就计入不可用。2026-11-02 那次三条都满足,所以排除;如果它发生在晚间高峰,即使提前公告也会计入。
| 归属类别 | 时长 | 是否计入不可用 | 对应事件 |
|---|---|---|---|
| 全量可用 | 约 129492 分钟 | 否 | 84 个自然日 |
| 降级 | 约 19 分钟 | 否(单列) | 5 次降级事件合计 |
| 计划内维护 | 19 分钟 | 否(单列) | 2026-11-02 配置热更新 |
| 不可用 | 88.6 分钟 | 是 | 2026-09-03 单节点过载 |
| 缺测 | 0 分钟 | 不适用 | 探针无中断 |

04 / 判定
判定规则写在这里,是为了让别人能用同样的规则复算。规则不复杂,但每条都有边界条件。
超时阈值取 5 秒,是因为 95 分位的正常握手在 480 毫秒内完成,5 秒已经留了 10 倍余量。超过 5 秒基本可判定为路径问题。
半开状态不直接计入不可用,先计入降级;连续两次半开才升级为不可用,避免把瞬时抖动记成故障。
单探针失败可能是探针本机的问题。同城 4 个探针里 3 个以上同时失败,才排除单点因素。
一次成功不算恢复,连续两次成功才结束这次事件。按 30 秒间隔算,恢复确认需要 60 秒。
单次成功可能是探针撞上了一个刚好可用的瞬间。连续两次成功把误报恢复的概率降到千分之一以下,代价是事件时长会多记 60 秒,属于偏保守的记账方式。
05 / 读数
同一个 99.932%,放在不同场景里的含义完全不同。这一节讲怎么用,也讲哪些用法是错的。
| 场景 | 这个读数意味着 | 不该这样用 |
|---|---|---|
| 日常办公 | 一个月约 30 秒不可用,基本无感 | 据此推断任何时段都稳定 |
| 长连接业务 | 88.6 分钟会打断长连接一次以上 | 用百分比代替断线次数 |
| 实时交互 | 降级的 19 分钟里时延抬到 300 毫秒以上 | 只看到可用性不看降级时长 |
| 批量传输 | 不可用期间传输会中断并需要重传 | 假设重连后能续传 |
| 对外承诺 | 按天口径 98.89%,比按分钟口径更保守 | 拿按分钟读数对照按天承诺 |

06 / 事件
事件记录与读数是同一批数据的两面。这一节把每次事件的影响时长与归属摊开,方便逐条核对。
| 事件 | 日期 | 等级 | 影响时长 | 是否计入不可用 |
|---|---|---|---|---|
| 切换判定窗口偏短,部分安卓机切换后停 | 2026-11-07 | 降级 | 14:16 | 否 |
| 计划内配置热更新校验失败,回滚耗时 | 2026-11-02 | 降级 | 03:19 | 否 |
| 跨境段拥塞导致丢包 5.2%,长连接 | 2026-10-22 | 降级 | 20:04 | 否 |
| iOS 锁屏后保活失效,三分钟内断开 | 2026-10-08 | 降级 | 08:23 | 否 |
| 蜂窝承载网解析超时,首次握手拖到 6 | 2026-09-19 | 降级 | 12:02 | 否 |
| 单节点转发队列打满,7 分钟不可用 | 2026-09-03 | 不可用 | 21:12 | 是 |
| 上游路由收敛,华东入口时延抬高 18 | 2026-08-21 | 降级 | 02:41 | 否 |
另外六次里,五次是降级(业务可用但变差),一次是计划内维护(提前公告且只影响新建连接)。按第 4 节的判定规则,只有 2026-09-03 那次满足“握手失败且连续两次半开”的条件。
降级不扣可用性,但会扣体验。19 分钟的降级里时延从 32 毫秒抬到 212 毫秒,实时交互类业务能明显感知。只记不可用会漏掉这类问题。

07 / 争议
有争议说明口径写得不够细。本站的处理方式是:把争议点写进口径,而不是在争论里选一个立场。
按天口径的定义就是“当天出现过不可用即整天失分”,这是为了可核对。要评估短事故的影响,应看按分钟口径或绝对分钟数。
维护窗口单列在表 2 里,读者可以自行把 19 分钟加回去。排除的前提是三条都满足,任一条不满足就计入不可用。
95 分位描述的是分布,不描述“是否可用”。两者回答不同问题,本站两者都给,不互相替代。
12 个探针覆盖三个城市与三条主干路径,90 天累计约 311 万次探测。对“是否可用”这个问题足够,对“某个具体城市的某条线路”不够。
降级单独计数并单列时长。读表 2 时能直接看到降级合计 19 分钟,不会被可用性百分比吞掉。
会。判定逻辑随版本变化,例如 4.2.1 把切换判定窗从 400 毫秒改为 700 毫秒,同一批网络事件可能记成不同等级。
08 / 对照
不同厂商、不同监测平台的口径各不相同。这一节给出对照关系,方便把本站读数换算到别的口径上再比较。
| 口径 | 分母 | 短事故敏感度 | 与本站的关系 |
|---|---|---|---|
| 按分钟(本站) | 总分钟数 | 低 | 本站主口径 |
| 按天(本站) | 自然日 | 高 | 本站副口径,对承诺用 |
| 按小时 | 总小时数 | 中 | 把按分钟读数按小时聚合即可 |
| 按请求数 | 总请求数 | 取决于流量分布 | 需另行统计,本站不提供 |
| 按会话数 | 总会话数 | 取决于会话时长 | 需另行统计,本站不提供 |
| 按权重(会话加权) | 加权分钟数 | 中 | 本站汇总时使用,非对外读数 |
请求数需要业务侧埋点,本站只有探针数据,没有真实请求分布。用探针数据冒充请求数口径,等于编造一个自己算不出来的数字。
09 / 数字
本页出现的所有数字列在这里,每条都带条件。与首页冲突时以本页为准,因为本页是口径的原始出处。
窗口 90 天:2026-08-14 00:00 至 2026-11-11 16:40(+08:00),期间探针无缺测,统计口径见本页第 1 节。
按分钟可用性 99.932%:分母 129600 分钟,扣减 88.6 分钟,采集自 3 城 12 个探针。
按天可用性 98.89%:2026-11-11 统计结果,90 天中 84 天全量可用、5 天降级、1 天不可用。
探针 12 个分布 3 城,每 30 秒一次,90 天累计约 311 万次探测(2026-11-10 采集环境)。
不可用累计 88.6 分钟,全部来自 2026-09-03 的单节点过载事件(事件记录来源)。
降级累计 19 分钟,来自 5 次降级事件中时长可测的部分(2026-11-11 统计口径)。
计划内维护 19 分钟,2026-11-02 配置热更新,三条排除前提均满足(2026-11-04 版本记录)。
握手超时阈值 5 秒,正常握手 95 分位 480 毫秒,留 10 倍余量(2026-11-10 实测)。
同城判定:4 探针中 3 个以上失败计不可用,1 至 2 个失败计降级(2026-11-11 统计条件)。
恢复确认需连续 2 次成功探测,按 30 秒间隔算需 60 秒(客户端 4.2.1 版本条件)。
按天口径下单次 7 分钟事故扣 1.11 个百分点,按分钟口径扣 0.005 个百分点(2026-11-11 复算)。
事件 7 次:1 次不可用、5 次降级、1 次计划内维护,全部可追溯到事件记录页(2026-11 事件归档)。
这十二个数字构成口径的完整链条:分母 → 探针 → 判定 → 归属 → 读数。任何一环被改动,整条链的读数都会变,因此改动需要留痕。
10 / 问答
六问按被问到的次数排。答案都指向前面的小节,不引入新数字。
两个都是真的,分母不同。按分钟口径 99.932%,按天口径 98.89%。对外承诺用按天口径更保守。
因为 90 天里确实出现了 88.6 分钟不可用,换算下来就是 99.932%。写更高的读数需要先改变判定规则,本站不改规则去凑读数。
会。同城 4 探针的多数判定机制就是为了压误报,单探针失败只记降级,3 个以上同时失败才记不可用。
不能。三条前提(提前公告、只影响新建连接、不超过 30 分钟且避开高峰)必须同时满足,否则计入不可用。
降级时长只统计“越过判据并持续”的时段,不含判据恢复后的观察期。单次降级事件多数在 2 至 8 分钟内收敛。
探针数据不对外提供,但判定规则、阈值与计算方式全部写在本页,用同样的规则对同一批原始记录可以复算出同样的读数。
11 / 复算
口径的价值在于能被复算。这一节把计算过程写成三步,读者照着做就能得到同样的两个数字。
复算只需要三样东西:一段窗口内的探测结果、页面第 4 节的判定规则、第 3 节的时间归属表。三样齐全,任何人都能独立算出 99.932% 与 98.89% 两个读数。
把窗口内每一次被判定为不可用的时段按分钟累加,得到 88.6 分钟;用窗口总分钟数 129600 减去它,再除以 129600,得到 99.932%。这步不需要任何取舍,只要判定结果一致。
把窗口切成 90 个日历天,每天只要出现过不可用就整天失分。90 天里有 1 天命中,得到 98.89%。降级不扣分,但仍要单独统计时长,否则会被整体百分比藏起来。
缺测时段按不计入处理,不摊到其它时间;维护窗口按第 3 节的三条前提判断是否单列。本窗口内缺测为 0 分钟,维护窗口为 19 分钟且三条前提全部满足。
| 步骤 | 输入 | 算式 | 输出 |
|---|---|---|---|
| 按分钟 | 88.6 分钟不可用 / 129600 分钟 | (129600 − 88.6) ÷ 129600 | 99.932% |
| 按天 | 90 天中 1 天不可用 | (90 − 1) ÷ 90 | 98.89% |
| 降级单列 | 5 次降级事件合计 | 按越过判据的时段累加 | 19 分钟 |
| 维护单列 | 2026-11-02 变更窗口 | 按三条排除前提判定 | 19 分钟 |
| 缺测 | 探针无中断 | 不计入分子也不计入分母调整 | 0 分钟 |
可用性数字一旦无法复算,它的可信度就只能靠信任,而信任不能替代证据。把分母、判定与归属全部写出来,是为了让读数可以被检查,而不只是被引用。