老王VPN - 全球线路加速,故障切换1.4秒
2026年9月10日,老王VPN 完成线路自愈能力加固,286 个接入点全部接入自动故障切换。故障发生到恢复的中位耗时从 3.8 秒降到 1.4 秒,90 分位从 9.2 秒降到 4.6 秒;30 天统计的在线率为 99.96%,最长单次中断 2 分 18 秒,发生在 8 月 27 日凌晨的机房电力维护期间。
自愈的核心是把判断从人工值班改为自动探测。运维主管黄凯说:「以前线路断了要等监控告警、值班确认、手动切流,最快也要五分钟。现在由探针直接触发切换,人只在两次切换都失败时介入。」团队为此把探针从 12 个增加到 48 个,覆盖每个机房的入口与出口。

切换演练每月一次,做法是随机挑一个接入点直接下线,观察客户端与探针的反应。9 月的演练选了法兰克福 DE-04,下线后 1.3 秒完成流量迁移,受影响的 312 个会话里有 298 个在 2 秒内恢复,其余 14 个因为本地网络切换慢,在 4.6 秒内恢复。演练记录会写进月度报告,包括失败原因与改进项。
对用户来说,自愈过程几乎不可见:界面上的状态点会短暂变黄再变绿,正在下载的文件会暂停约 1.5 秒后继续,会议软件通常只出现一次轻微卡顿。若中断超过 10 秒,客户端会弹出提示并给出三个备用节点,用户也可以直接点「重新测速」让线路表重排。
1.4秒由什么构成
1.4 秒包含三段:探针确认故障 0.6 秒、路由收敛 0.5 秒、客户端重连 0.3 秒。探针每 200ms 发一次探测,连续 3 次失败即判定故障,因此最短确认时间为 0.6 秒。路由收敛依赖机房间的 BGP 会话,团队把保持时间从 90 秒调到 30 秒,收敛时间相应缩短。
客户端重连的 0.3 秒是新增的预连接机制带来的:客户端在连接正常时就与备用节点保持一条轻量心跳,切换时直接复用,无需重新握手。预连接每小时消耗约 0.2MB 流量,可以在「高级设置」里关闭,关闭后切换耗时回到 1.1 秒左右。
99.96%在线率的统计口径
在线率按「接入点分钟」计算:286 个点每分钟计一次,30 天共 1233.6 万次机会,失败 4937 次,得 99.96%。统计只计算接入点侧的可达性,不包含用户本地宽带故障与目标网站不可达。8 月的三次中断分别为 2 分 18 秒、1 分 43 秒与 51 秒,前两次由机房电力维护引起,第三次是上游链路抖动。
| 指标 | 加固前 | 加固后 |
|---|---|---|
| 切换中位耗时 | 3.8 秒 | 1.4 秒 |
| 切换 90 分位 | 9.2 秒 | 4.6 秒 |
| 30 天在线率 | 99.91% | 99.96% |
| 人工介入次数 | 17 次 | 3 次 |
黄凯说:「在线率的数字容易被拿来做宣传,所以我们把统计口径一并公开。用户看到的 99.96% 是按接入点算的,不是按人算的。」
客户端侧的重连表现
客户端在检测到连接中断后会立即尝试原节点重连,2 秒未成功则切到备用节点。实测在强制断开线路的情况下,Windows 客户端平均 1.6 秒恢复,macOS 为 1.4 秒,Android 为 1.9 秒,iOS 为 1.5 秒。移动网络的恢复时间更长,5G 下为 2.4 秒,4G 下为 3.1 秒,主要耗时在无线链路重新附着。
对会议与游戏这类对中断敏感的场景,客户端提供「锁定节点」选项:锁定后不会自动切换,而是原地重试,避免切换后目标服务重新鉴权。测试工程师林浩然建议,开长会时锁定节点,日常浏览保持自动切换。他补充:「锁定不是万能的,节点真的挂了还是得切,只是把决定权交给用户。」
监控数据每 10 秒写入一次,保留 13 个月,异常时可以回溯到具体探针与机房。团队每月公开一次在线率与切换耗时分布,用户可在状态页查看最近 30 天的记录,不需要登录账号;若某条线路连续两天进入告警,会提前下线检修,而不是等它真的断开。
下一步团队计划把探针密度提高到每机房 6 个,并把故障预测从被动探测改为基于历史抖动的提前切换,目标是把中位耗时压到 1 秒以内。黄凯说:「1.4 秒已经比多数人感知的阈值低了,但会议掉线一次就是一次,还能再快。」
' + str(len(a["comments"])) + ' 条用户评论
上周断了一次,几秒钟就自己连回来了,比以前要手动点强。
开长会锁节点这个功能很实用,之前老是切走要重新登录。
99.96% 的口径写出来了,比只放一个数字好。
手机 4G 下恢复还是要三秒左右,能接受但希望更快。
凌晨维护那次我正好在线,断了大概两分钟,有公告。
预连接多花一点流量换来快速切换,我选择开着。