跳到主内容
机场工具箱
概念原理 机场工具箱 编辑部

机场测速的三个读数:延迟、丢包与吞吐量分别是什么

机场测速里的延迟、丢包、下载速度是三个不同的量:延迟是一个包来回用的时间,丢包是包在等待时限内有没有到,下载速度是单位时间搬了多少数据。客户端里的延迟测试其实是 mihomo 的健康检查,下面按 RFC 和 mihomo 文档原话逐个说明。

发布:2026 年 10 月 14 日 约 4 分钟读完
本文目录(7 节 · 约 4 分钟) +
  1. 01 往返时延:RFC 2681 怎么定义
  2. 02 丢包:RFC 7680 怎么定义
  3. 03 下载速度:RFC 6349 里的 TCP 吞吐量
  4. 04 客户端里的「延迟测试」测的是什么
  5. 05 三个数各自回答什么问题
  6. 06 读数之前先排除的几种情况
  7. 07 常见问题

机场测速给出的延迟、丢包和下载速度,是三个不同的量,不能互相代替。延迟说的是一个包来回用了多久,丢包说的是包有没有在等待时限内到达,下载速度说的是单位时间里搬了多少数据。下面按 IETF 的 RFC 原文和 mihomo 官方文档,把每个数的定义讲清楚。

往返时延:RFC 2681 怎么定义

RFC 2681《A Round-trip Delay Metric for IPPM》§2.4 的定义是:源端在 T 时刻发出一个包的第一个比特,目的端收到后立即回一个包,源端在 T+dT 时刻收到回包的末尾那个比特,这个 dT 就是往返时延。

同一节还规定了收不到回包的情况:这时往返时延是「undefined (informally, infinite)」,也就是未定义,通俗说是无穷大。客户端里看到的「超时」,可以对应到这一种情况。

所以延迟这个数只回答一件事:一个包从你这边出去、再回来,花了多长时间。它不说明这条路能同时跑多少数据。

丢包:RFC 7680 怎么定义

RFC 7680《A One-Way Loss Metric for IPPM》§2.4 定义的是单向丢包:源端发出一个包,目的端在等待阈值 Tmax 之内收到了,记 0;没收到,记 1。

注意两点。一是它是单向的,只看从源端到目的端这一程。二是「丢」与「没丢」取决于等多久,等待阈值 Tmax 是定义的一部分。

下载速度:RFC 6349 里的 TCP 吞吐量

RFC 6349《Framework for TCP Throughput Testing》§1 把可达 TCP 吞吐量定义为:TCP 处在稳定状态时,单位时间里传输的数据量。

同一份 RFC 还有两句值得记:

  • 「Network providers are coming to the realization that Layer 2/3 testing is not enough to adequately ensure end-users’ satisfaction.」意思是只测带宽、时延、丢包这些二三层指标,不足以代表用户体验。
  • 带宽时延积(BDP)由往返时延和瓶颈带宽算出,决定了要跑满吞吐量需要多大的收发缓冲区。延迟和吞吐量是有关系的两个量,但不是同一个量。

要说明的是,RFC 6349 的适用范围写的是「managed business-class IP networks」,也就是受管理的商业级 IP 网络。它不是机场测速标准,这里只借它的概念,不能说哪个测速是「按 RFC 6349 做的」。

客户端里的「延迟测试」测的是什么

在 Clash 系客户端里点「延迟测试」,背后是 mihomo 内核的健康检查(health-check)。mihomo 文档里,代理组的这几个字段原话如下:

字段mihomo 文档原话
url「健康检查测试地址」
interval「健康检查间隔,如不为 0 则启用定时测试,单位为秒」
timeout「健康检查超时时间,单位为毫秒」
tolerance「节点切换容差,单位 ms」(url-test 页)
lazy「懒惰状态,默认为 true ,未选择到当前策略组时,不进行测试」
expected-status「健康检查时期望的 HTTP 响应状态码」,默认为 *,对响应状态不做要求

官方 url-test 示例里写的是 url 为 https://www.gstatic.com/generate_204、interval 为 300,tolerance 一项以注释形式给了 50。文档没有给出 timeout 的默认值,这里也不替它补。

合起来看:内核按 interval 定时向 url 发请求,在 timeout 毫秒内看请求是否成功;url-test 类型的组再结合 tolerance 自动选节点。mihomo 文档没有说这个延迟等于 ping,也没有说它等于下载速度。

代理组有哪几种类型、url-test 组和其他组差在哪,可以看代理组类型;规则从上往下怎么命中,见规则顺序。

三个数各自回答什么问题

读数它回答的问题它回答不了的问题
延迟(往返时延)一个包来回要多久;收不到回包就是超时这条路一秒能搬多少数据
丢包包在等待时限内有没有到到了的包花了多长时间
下载速度(吞吐量)稳定状态下单位时间搬了多少数据单个包的响应快不快
客户端延迟测试节点此刻能不能在 timeout 内完成一次健康检查等不等于 ping、等不等于下载速度

一分机场官方 WIKI 的科普里有一个说法,可以帮助记住前两行的区别:「延时测的是”响应有多快”,下载速度测的是”能搬运多少货”。」(机场方科普,不是标准文件。)

读数之前先排除的几种情况

  • 先确认流量真的走了代理,再用站内的在线测速;没走代理时,测出来的是本地网络。
  • 延迟测试一点就立刻提示超时,但网站都能正常打开:Clash Verge Rev 官方 FAQ 给的可能原因是「杀毒软件(如火绒)对 HTTPS 连接进行加密,出现证书不一致的情况报错导致」。
  • 某个组一直不测:lazy 默认为 true,没选到这个组时不进行测试。
  • 通过 use 引入的节点没被组的 url 检查到:mihomo 文档写明代理组的 url「只会检查代理组的 proxies 字段的代理,不会检查代理集合(proxy-providers)的代理」,代理集合要用它自己的 health-check。
  • 想确认要测的那个域名到底走不走代理,可以用规则匹配查某个域名命中了哪条规则,用配置检查查语法。

本站推荐位依次是跨界云、微风网络、飞猫云、暮光加速,含合作关系。

常见问题

客户端测出的延迟就是 ping 吗?

mihomo 文档没有这么说。它的健康检查是向一个 http 或 https 测试地址发请求,并可以按 HTTP 响应状态码判断;文档没有说这个值等于 ICMP ping。

延迟低,下载为什么还慢?

因为延迟和吞吐量是两个量。RFC 6349 原话是只做二三层测试「is not enough to adequately ensure end-users’ satisfaction」;丢包还会让 TCP 降速。

延迟测试里的 timeout 默认是多少?

mihomo 文档只写了单位是毫秒,没有给代理组 timeout 的默认值。看你自己配置文件里写的数。

测速链接可以随便填吗?

Clash Verge Rev 界面会校验格式,提示原文是「Test URL must start with http:// or https://」。mihomo 文档给代理集合推荐的健康检查地址有 https://cp.cloudflare.com 和 https://www.gstatic.com/generate_204。

节点旁边的 📌 是什么意思?

Clash Verge Rev 官方 FAQ 的说法:📌 为红色表示锁定当前节点且可用,自动选择会优先用它;为灰色表示锁定了但当前不可用,下次健康检查变为可用时继续优先用它。

RFC 6349 是机场测速的标准吗?

不是。它的适用范围写的是受管理的商业级 IP 网络,这里只借用吞吐量和带宽时延积的概念。

照着做一遍,比再看十篇都有用

先挑好客户端,遇到连不上再回来排查。

相关文章

配置报错、链接看不懂?粘进来看一眼

不用注册、不用填订阅地址,把出问题的配置或看不懂的节点链接直接粘进对应工具,结果当场显示。全部计算在你的浏览器里完成,粘贴的内容不会上传到任何地方——页面加载完之后断网,工具照样能用。