BreakHub
知识库排行榜与测试

排行榜怎么读

榜单上的每一列都有讲究:为什么用中位数、为什么有的工具排名是“—”、“仅服务商”开关到底过滤了什么,以及 GreatFire 排名那一列是怎么算出来的。

5 分钟阅读 · 发布于 2026年9月10日

数据更新于 2026年10月26日

数据来源:GreatFire Circumvention Central每小时同步

排行榜看起来很简单:一列工具名,几列数字,一个名次。但如果你不知道这些数字是怎么算出来的,很容易得出错误的结论——比如把一个只被测过两次、碰巧撞上好时段的工具当成“最快的梯子”。每一列背后都有规则,而且这些规则和 GreatFire 翻墙中心的一致,所以两边的榜单可以直接对照。

中位数,不是平均数

速度、延迟、稳定性三列都是中位数。把某个工具在所选时间段内的所有测试按速度排序,取中间那个值,就是它的“速度(中位)”。

为什么不用平均?因为翻墙测速的数据分布非常偏。一个工具平时 1 MB/s,某天凌晨用户测出 20 MB/s——可能是那会儿线路空闲,也可能是用户忘了关本地缓存——平均数会被这一次拉高一大截,而中位数几乎不受影响。反过来也一样:偶尔一次被墙到 0 的失败,不会把一个平时表现稳定的工具拖到榜尾。GreatFire 的做法就是用中位数,我们沿用了。

延迟和稳定性同理。一次测试的延迟本身已经是那次测试 20 个样本的中位数,榜单上再对所有测试取一次中位数,等于“中位数的中位数”,对离群值很钝,这正是我们要的。

为什么至少 5 次、跨 48 小时

一个工具要进入排名(我们叫“入池”),得同时满足两个条件:在所选时间段内至少 5 次测试,并且首尾两次测试相隔至少 48 小时。

5 次是个下限,不是统计学上多么严谨的数字,但它能挡掉最常见的噪音:某人装了个新工具,连着测三次,全是同一条线路、同一个时段。跨 48 小时的要求解决另一个问题——同一天里连测 5 次和分散在一周里测 5 次,信息量完全不同。GFW 的行为随时段变化,晚高峰和凌晨的体验可能是两个世界;能跨过两天以上的数据,至少经历过一次完整的昼夜周期。

不满足条件的工具并不会被藏起来。它们照样显示速度、延迟、稳定性和测试次数,只是名次那一列显示“—”,并且沉到已排名工具的下面。鼠标悬停在“—”上会看到提示。如果你看到自己常用的工具在那里,最直接的办法就是去 跑一次测试,多几次、隔几天,它就会进入排名。

名次怎么算,以及为什么会并列

名次不是按速度一列排的,而是三个指标综合。具体做法:

  1. 对池内每个工具,分别算出速度名次、延迟名次、稳定性名次。某个指标的名次 = 1 + 池内“严格比它好”的工具数量。速度越高越好,延迟越低越好,稳定性越高越好。
  2. 三个名次取平均,得到一个综合分(score),越小越好。
  3. 按综合分从小到大排,就是最终的“排名”。

第 1 步用的是所谓的 competition ranking:如果有三个工具速度都是 5.0 MB/s,且没人比它们更快,那它们的速度名次都是 1,下一个工具是 4,而不是 2。所以综合分会撞车,榜单上也就会有并列的名次。这不是 bug,是数据真的分不出高下。

有个细节:如果某个工具缺某项指标(比如所有测试都没有稳定性数据),那一项的名次记为“池的长度 + 1”,也就是排在所有人之后。这样缺数据不会白白占便宜。

举个例子。假设池里有 4 个工具,A 速度第 1、延迟第 3、稳定性第 1,综合分 (1+3+1)/3 ≈ 1.67;B 速度第 2、延迟第 1、稳定性第 1,综合分 1.33。B 排在 A 前面,尽管 A 的速度更快——因为 B 三项都不差。这就是为什么“速度最快”和“排名第一”经常不是同一个工具。

“仅服务商”开关

工具目录里每个工具有个 provider_type 字段:service(商业服务商,比如某某 VPN)或者 self-hosted(自建工具,比如 Shadowsocks、V2Ray 客户端、sing-box 这类)。

打开“仅服务商”后,入池条件多了一条:只有 service 类型的工具参与排名。为什么要有这个开关?因为自建工具的“速度”测的其实是你自己买的服务器和线路,跟软件本身关系不大。同样是 sing-box,有人用的是香港 BGP 机房,有人用的是美西廉价 VPS,中位数把它们混在一起,说明不了什么。而商业服务商的用户用的是同一批出口节点,中位数才有可比性。

想挑服务商就打开它;想看自建方案的整体水位就关上。

GreatFire 排名那一列

表格最右边一列是“GreatFire 排名”。它不是从上游页面抄下来的名次,而是:我们每次同步时会把 GreatFire 的聚合数据(每个工具的中位速度、延迟、稳定性、测试数、时间跨度)存成一份快照,然后用上面完全相同的算法在那份快照上重算一遍名次。

所以这一列和我们自己的排名列,区别只在数据集:我们的排名用的是本站数据库里的所有测试(导入的 + 本站实测的),GreatFire 排名用的是上游截至最近一次快照的聚合。两列不一致的时候,通常有三种原因:本站实测数据把某个工具推上或拉下了几名;快照有时差;或者两边的时间窗口边界差了几个小时。差一两名很正常,差很多才值得留意。

筛选器

默认时间段是 60 天,跟 GreatFire 一致。可选今天、7 天、30 天、60 天、90 天、全部。时间段越短,入池的工具越少,但越能反映“现在”的状态;时间段越长,数据越平滑,但可能包含已经失效的线路。

位置筛选是用户自己选择的所在地(中国大陆、俄罗斯、伊朗、土库曼斯坦、其他),不是从 IP 推断的,用了梯子之后 IP 本来就在国外,推断没意义。操作系统来自浏览器的 User-Agent。

“数据来源”可以选全部、只看 GreatFire 导入、只看 BreakHub 实测。后者目前样本少得多,但它是唯一带完整测试详情的数据。

数据多久更新一次

导入的 GreatFire 数据每小时的第 15 分钟增量同步一次,每天 03:30 UTC 做一次全量对齐。本站实测的结果提交后立即入库,榜单缓存 5 分钟,所以最迟 5 分钟后你能在榜上看到自己那一次。页面底部的“上次同步”显示最近一次成功导入的时间。

常见问题

为什么榜单第一名的速度不是最高的? 因为排名综合了速度、延迟、稳定性三项。一个各项都在前列的工具,会排在一个速度冠军但延迟垫底的工具前面。

为什么我刚测完,工具还是显示“—”? 入池要求至少 5 次测试且首尾相隔 48 小时以上。再测几次、隔一两天,条件满足后它就会出现在排名里。

我们的排名和 GreatFire 排名为什么不一样? 算法一样,数据集不一样。我们多了本站实测数据,快照也有几小时的时差。差一两名是正常波动。

中位数会不会被刷? 比平均数难刷得多。想把中位数抬上去,得让一半以上的测试都是高分,而且还得跨 48 小时。我们也保留了隐藏明显异常记录的能力。

数据补充

本节依据数据自动维护,与原有编辑文章分开。更新本节不代表全文经过重新审核。

数据更新于 2026-10-26

实测证据更新

观测窗口(UTC):2026-09-26 – 2026-10-25,为这些数字最近发生变化时的前 30 个完整 UTC 日期。

本次实测数据补充包含 4320 次可见工具测试:4319 次 GreatFire 导入与 1 次 BreakHub 访客提交。它更新实测背景,不代表对指南解释性正文进行修订或独立事实核查。隐藏记录、直连与无效工具名已排除,名称别名已合并。779 个被测工具中,107 个有至少 5 次测试且跨越 48 小时,其中 64 个被标记为服务类。另有 672 个工具未达下限。缺少排名表示覆盖不足,不表示性能差。

样本最多的工具贡献了 15.4% 的测试;记录覆盖 30 个 UTC 日期与 4 类填报地区。数量代表提交记录,不是独立人数或均衡实验。0 次测试缺少速度、1 次缺少延迟、0 次缺少稳定性,因此中位数采用的有效读数可能少于总测试数。

如何结合指南使用这些证据

本窗口的合格比例为 107/779;实时榜单默认使用滚动 60 天窗口,筛选又会改变候选池,因此可能不同。排名取工具中位数对应的三个竞赛名次的均值,不只看速度。缺失指标的名次是候选池大小加一。接近最低样本门槛时,少量新增测试就可能明显改变中位数或入池资格。解读位置前先比较数量和跨度,再通过测量说明与测试页检查自己的场景。

导入质量与来源

截至 2026-10-25 的前 7 个完整 UTC 日期内,GreatFire 同步记录了 166 次成功、9 次失败;成功任务报告新增 2897 条记录,其中可能包含历史记录及本补充范围之外的直连测试。这些是任务运行数量,不是完整性保证。发布要求近 36 小时内有成功导入、近 72 小时内有可见的导入结果。仅仅再次检查,不会改变补充的更新日期。

导入测量署源为 GreatFire Circumvention Central,方法参见其说明;访客测量由 BreakHub 接收。查看测试历史,两组人群存在差异时应分别筛选来源。