Mac 上的网速测试

更新于 · 作者

两分钟后要开会,而 Wi-Fi 感觉不太对。你不想要一个挂着三条广告横幅、还先弹 cookie 弹窗的网站——你要的是一个数字。你的 Mac 自己就能给出这个数字,而 hop 把同一次测量放在菜单栏里,点一下就有。

macOS 菜单栏中的 hop 面板:speed test
speed test in hop at a glance
what it isspeed test inside hop, a menu bar app for macOS
pricefree — no trial, no pro tier, no account
licenceMIT, source on GitHub
requiresmacOS 14 or later, Apple silicon or Intel
works offlineyes
data sent anywherenone
download hopfree · macOS 14+ · Apple silicon and Intel

什么时候需要在 Mac 上测网速

  • 开会之前,想知道视频撑不撑得住
  • 大文件下载或上传之前,先知道自己面对的是什么
  • 什么东西卡了,你想弄清楚是线路的问题还是网站的问题
  • 把笔记本挪到另一个房间之后,看看墙干了什么
  • 运营商说线路没问题,而你希望手上有个数字能回敬过去

这五条里有四条只要看一眼。最后一条要的是一个能拿去讲理的结果,那是另一件事。

你本来就有的那个 Mac 测速工具

从 Monterey 起,macOS 就会测自己的网络连接。这个工具叫 networkQuality,装在 /usr/bin/networkQuality,跟 Apple 自己的基础设施通信,而且不管你装不装别的东西,它本来就在你的 Mac 上。

几乎没人用它,原因不是它难用,而是它从不露面:没有窗口、「系统设置」里没有面板、哪儿也没有菜单项。你得先知道这个词,才打得出它。

它打印出来的到底长什么样

下面是这台 Mac 在 macOS 26.6.2 上真打出来的几行,不是对它们的描述。不加参数的 networkQuality 打印四行:上行容量、下行容量、一个合并的响应数值,以及空闲延迟。加上 -s 就是五行,因为响应会按方向分开:

  • 上行容量 310.6 Mbps,下行容量 97.5 Mbps
  • 上行响应:中等——124 毫秒,484 RPM
  • 下行响应:低——1.925 秒,31 RPM
  • 空闲延迟:90.6 毫秒,662 RPM

后三行要连起来读。空闲时这条线路每分钟能完成 662 次来回。上行方向加满负载,它还有 484。下行方向加满负载,它掉到 31——同一条线路,只在一个方向上,塌了二十一倍。只报一个延迟数字的测试说不出这件事,而只报兆比特的测试会判定这条线路很健康。

响应这个数值是什么、Apple 怎么定义它——这份说明正是那条命令自己的手册页指向的(英文页面): 测试你的互联网连接质量

测速的哪个数字才真正要紧

下载速度是人人都在报的那个数字,也是解释力最弱的那个。一条线路可以拉到两百兆比特,通话照样卡顿,因为让通话断断续续的是线路忙起来时的延迟,而不是它闲着时能冲到的上限。

RPM 是每分钟的来回次数,在负载下测得。它不是哪家厂商编出来的指标:这套方法正在标准化,而那份草案讲得比任何产品页都仔细。

这项测量本身,以及它背后的道理(英文页面): 工作负载下的响应性,IETF

那到底该用哪个测速

如果你只是偶尔查一下线路,打开「终端」敲 networkQuality。它免费、本来就在、报的东西比任何网页测速都多,这一页说什么都改变不了这一点。

简单的情况在「查一下」不再是一件事的时候结束。一旦你每次开会前都要看一眼,或者一下午边挪路由器边测两遍,代价就不再是那四十秒的测试时间——而是记住那条命令,再开一个终端窗口,只为瞥一个数字。

download hopfree · macOS 14+ · Apple silicon and Intel

hop 是怎么跑这次网速测试的

直说,而这正是大多数产品页宁愿不写下来的一段:hop 调用的是 macOS 自带的 networkQuality,对着同样那些 Apple 服务器测。数字不会更好、不会更快、也不会更准——就是同一组数字。谁要是声称自己的 Mac 测速能量到系统工具量不到的东西,那是把一层外壳当引擎卖。

变的是这次测量住在哪里:面板上的一行、点一下、上一次的结果留着好让这一次有个对照,而且路上没有浏览器标签页。

你正在做的事免费的路子用 hop
出于好奇,测这一次在「终端」里敲 networkQuality,等四十秒用不上——这条命令你的 Mac 上本来就有
开会前一分钟瞥一眼打开「终端」,想起那条命令,读完摘要打开面板,点一下,读那一行
比今天早上更差了吗得你自己把输出复制到某个地方,否则没有对照上一次的结果就留在那一行里
把 Wi-Fi 和网线掰扯清楚networkQuality -I en0 能把测试绑到一个网络接口上面板里没有参数——这件事归「终端」

这个模块只在你叫它的时候测,其余时候不测。菜单栏上常驻一个读数,意味着后台一直有流量跑着,为一个偶尔才需要的数字付这个代价并不划算。

真正适合常驻读数的是吞吐量和负载,那是另一个模块: Mac 上的系统监视器

那一行怎么读、负载下的响应是什么意思,以及为什么下载和上传要一前一后地测——手册那一侧,中文的: 说明书里的网速测试

菜单栏测速与网页测速

这个问题真正的对手不是「终端」,而是浏览器标签页:Ookla 的 Speedtest、Fast、Cloudflare。它们的数字没问题,而且要拿一个数字去跟运营商讲理,一个对方认得的名字比一套更好的方法更管用。

网页测速的代价,是数字周围的一切——广告、按钮之前那道 cookie 弹窗、服务自己挑的某台服务器,以及一个关掉标签页就不存在了的结果。hop 站在两者中间:命令的那套方法、Apple 的服务器,用一个按钮换掉一个浏览器。对经常查的人够用,对一年查两次的人不值。

测出来的数字跟你预期的不一样的时候

远远低于你买的套餐

  • 有别的东西在占线路。一次系统更新、一次云同步或一次备份把带宽吃走了,而测试老老实实报的是剩下的那部分。
  • 你是隔着 vpn 测的。每个数据包都要去别处的某台服务器,结果描述的是那条路径,不是你的连接。
  • 问题在 Wi-Fi,不在线路。这正是面板不够用的那种情况:在「终端」里跑 networkQuality -I en0,网线上测一次、Wi-Fi 上测一次,两者的差距会告诉你该挪路由器还是该打给运营商。

带宽没问题,通话还是断

看响应,别看兆比特。带宽很高、负载下 RPM 却很低,这是一个明确的诊断,不是一句笼统的「有点慢」:你和互联网之间某处的缓冲区——通常在路由器里——被塞满了,别的一切都在它后面排队。这件事在路由器的队列管理里能治,而换一个更快的套餐治不了它——偏偏只报兆比特的测试正是往那个方向推你。

这种故障的名字,以及真正管用的解法,来自追了它十年的那个开放项目(英文页面): 缓冲区膨胀该怎么办

两个测速结果对不上

谁都没撒谎。它们测的是不同的服务器、走的是不同的路径,而浏览器还要额外加一层开销。要比就比同类:同一个工具在一天的两个时间点测出来的东西,远比两个工具在同一时刻测出来的有用。

如果嫌疑落在隧道上,而你想为了这一次测量把它关掉、又不想去「系统设置」里翻: Mac 上的 vpn 切换

frequently asked questions

macOS 自带测速吗?
有——「终端」里的 networkQuality 命令,从 Monterey 起就有。它对着 Apple 自己的基础设施测,报出容量、响应和空闲延迟。它没有窗口,也没有菜单项,所以几乎没人知道它在那儿。
hop 能测出「终端」里那条命令测不出的东西吗?
不能。hop 调用的就是那条命令,测的就是那些服务器,所以数字完全一样。它加上去的是「点一下」而不是「敲一条命令」,以及留在那一行里的上一次结果。
它对着哪些服务器测?
Apple 自己的,就是 macOS 做网络质量检查时用的那套基础设施。中间没有第三方测速服务,你的连接情况也不会被报到任何地方去。
响应是什么?
线路在负载下的表现,按每分钟来回次数计。它决定通话撑不撑得住,而且通常比单纯的速度更早发出警告。
我的网速没问题,为什么通话还是断?
因为带宽和响应是两回事。一条线路可以跑到两百兆比特,而只要有什么东西把队列塞满,它就会塌到每分钟几十次来回——这就是缓冲区膨胀,它住在路由器里,不在你的 Mac 里。
它会在菜单栏里一直显示网速吗?
不会——你叫它才测。常驻测量意味着后台一直有流量跑着,为一个偶尔才需要的数字付这个代价并不划算。
有广告吗?
一条都没有。hop 任何地方都没有广告,这项测试也不会打开网页。
真的免费吗?
完全免费,另外十八个工具也一起给你。

other tools in hop

  • file converterimages, video, audio and documents. offline, with the size shown up front.
  • time trackerwhere the hours went, kept on this Mac and nowhere else.
  • system monitorload, temperatures, memory and battery — quiet until something is wrong.

关于作者

hop 的作者 Anton Shakirov

开发 hop

开发 hop,也编写本站的每一页。十九个工具收在一个菜单栏图标下,MIT 许可,源码公开。issue 和邮件都由他本人阅读和回复。

download hopfree · macOS 14+ · Apple silicon and Intel