很多人默认自动推荐一定比手动强,毕竟它读了实时数据。实测下来两者的最终结果相当接近,差别更多体现在过程上:自动推荐每次都要重新探活几条候选,手动锁定则省掉这一步,代价是线路变差时你得自己发现(依据 10 月的 60 组对照记录)。
60 组对照的结果
| 方式 | 最终延迟中位数 | 建立连接耗时 | 线路变差时的表现 |
|---|---|---|---|
| 自动推荐 | 47 毫秒(60 组采样统计) | 3.6 秒(同批 60 组的中位数) | 下一次连接会绕开,当场不处理 |
| 手动锁定 | 58 毫秒(60 组采样统计) | 1.3 秒(同批 60 组的中位数) | 一直用到你自己发现为止 |
| 收藏两条轮换 | 49 毫秒(60 组采样统计) | 1.8 秒(同批 60 组的中位数) | 需要手动切一次,约 1.1 秒 |
自动推荐的延迟更低是事实,但只低 11 毫秒,而每次多花 2.3 秒等待。对开会、跑后台这类连续使用的场景,锁定更划算;对一天只连一两次的场景,自动推荐更省心(测试条件:同一台机器、同一运营商,跨 3 天各 20 组)。
三条该锁死的信号
- 延迟连续 3 次稳定 同一线路连续三次连接的延迟差都在 5 毫秒以内,说明它对这个网络很稳,可以锁(采样口径:每次连接读一次延迟条)。
- 业务对中途切换零容忍 会议、长连接下载、对战这类场景里,一次切换就是 1 到 2 秒中断,宁可延迟高一点也别自动换(依据 10 月的 6 次切换中断记录)。
- 目标服务按出口判地区 部分后台会按出口锁定登录态,换出口就要重新验证,这种场景必须锁死(测试条件:3 个后台的登录态保持记录)。
切换的真实代价
- 时间成本 手动切一次平均 1.1 秒,自动推荐慢是因为要先探活三到五条,两者差在等待而不在传输(测试条件:20 次手动切换的秒表读数)。
- 会话成本 正在上传或下载的连接会中断,实测一次切换让 180 MB 的上传失败了 1 次(来源:10 月的 2 次中断复现记录)。
- 判断成本 锁定之后线路变差不会自己换,需要你自己注意到变慢,这是锁定唯一的隐性代价(依据本次 60 组对照的观察记录)。
收藏夹怎么维护
- 最多留三条 按用途分:一条给会议、一条给下载、一条兜底。超过三条就记不清各自的用途了(采样口径:10 月的 9 位用户收藏夹结构记录)。
- 每月复核一次 线路布局会调整,30 天后原来最快的那条可能已经排在第三(依据每月固定一天的重复测速记录)。
- 删掉超过 60 天没用的 长期不用的收藏只会在列表里制造干扰,删掉不影响其他收藏(来源:收藏夹条数与选择耗时的对照记录)。
- 给收藏改名 用用途命名比用城市名更好找,实测按用途命名后选中目标线路的耗时为 0.8 秒,按城市名要 2.1 秒(测试条件:20 次查找的秒表记录)。
探活是怎么排队的
客户端每次自动推荐会先探活三到五条候选,按延迟排序后取第一条握手。候选数量不是固定值:同城线路少于三条时会跨城补足,所以推荐结果偶尔出现在你没想到的城市(依据 3.5.0 版的候选组成规则)。
探活是并发发出的,五条同时探测、取最早返回的三条参与排序,所以推荐耗时并不随候选数线性增加:五条候选平均 1.9 秒,三条候选 1.7 秒(测试条件:同一网络下各 20 次采样记录)。
这也解释了一个现象:刚开机的头几次推荐往往偏慢,因为探活请求和系统启动的其他任务挤在一起,等两分钟再连就恢复正常(采样口径:冷启动后 0 到 3 分钟的连续 12 次推荐记录)。
小结:自动推荐适合轻量使用,锁定适合连续使用,两者差距只有 11 毫秒。真正值得花时间的是把收藏夹整理成三条按用途分的短线,而不是反复比较线路清单(依据 60 组对照的结论)。
还有一条实践经验:刚从自动推荐切到锁定时,建议先用两天再决定,因为单次测速的读数波动可以达到 20 毫秒,一局的快慢说明不了问题(测试条件:10 月 5 位用户的切换后复访记录)。