基本使用

networkQuality 是一个命令行工具,需要使用「终端」App(或者你首选的其他终端模拟器)运行。方法是:

首先,点按「程序坞」(Dock)中的「启动台」(LaunchPad)图标,在搜索栏中键入「终端」,然后点按「终端」图标。

(或者,在「访达」中,打开 /应用程序/实用工具 文件夹,然后双击「终端」。)

在打开的终端窗口中,输入 networkQuality(注意大小写),然后回车。

此时,系统会开始同时测试下载和上传速度,并将当前速率实时显示在终端窗口中,形如:

current download capacity: 247.850 Mbps - current upload capacity: 9.545 Mbps

大约半分钟后,测速完成,终端会显示一段测速结果,形如:

Upload capacity: 16.938 Mbps
Download capacity: 232.850 Mbps
Upload flows: 20
Download flows: 16
Responsiveness: Low (188 RPM)

其中,「Upload/download capacity」是指上传/下载的带宽;「Upload/download flows」是指刚才测试中完成传输的测速文件数量。

至于「Upload/download responsiveness」,是指上传和下载的综合「响应能力」,根据 Apple 的支持文档,它的衡量指标是每分钟往返次数 (RPM),即在正常工作条件下,网络能够在一分钟内完成的连续往返次数或事务数量。

根据 RPM 的高低数值不同,networkQuality 对响应能力的评价也分为「低」「中」「高」三个等级。这可以大致反映当前网络的拥堵程度,从而帮助间接估测视频通话、游戏等应用的效果:

  • 评价为「Low」(低),说明同一网络的设备会互相影响,导致其他设备的网络连接不可靠;
  • 评价为「Medium」(中),则表明多设备共享网络时会造成短暂卡顿;
  • 评价为「High」(高)则最为理想,表明网络通畅,多设备并行联网也能和平共处,保持良好连通。

技术细节和进阶操作

如上所述,networkQuality 工具会使用 Apple 的 CDN 作为测试服务器。

具体而言,该工具默认会从一个外部 json 格式文件(目前位于 https://mensura.cdn-apple.com/api/v1/gm/config )获取测试配置。该文件包含三个测试文件地址:

此外,networkQuality 命令可以接受一些参数。比较有实际意义的包括:

  • -c 会输出 json 格式的测速详情;
  • -s 会分开测试下载和上传,而非像默认那样对两者同时测试(同时测试更能反映通话等真实应用的场景);
  • -I 可以测试特定网络接口的速度,例如,命令 networkQuality -I en0 是指测试内建 Wi-Fi 网络的速度。

更多参数和说明,可以用如下命令查阅手册页面 networkQuality(8)man networkQuality

networkQuality的更多相关文章

  1. 利用ICMP协议的PING命令获取客户端当前网络质量 by徐文棋

    无论在windows下,linux也好,unix也好,都可以通过 Ping命令获得当前设备的网络延迟,延迟是客户端到服务端的网络响应时间.通常延迟越低,反应速度越快 这里使用了SimplePing   ...

  2. 如何基于ZEGO SDK 实现通话质量监测

    如何基于ZEGO SDK 实现通话质量监测 1 功能简介 在进行视频通话过程中,用户有时候会出现网络不好的情况,比如在进行多人视频通话或者多人唱歌时,我们需要实时显示用户的网络质量. 示例源码 请参考 ...

  3. 如何基于 ZEGO SDK 实现 Android 通话质量监测

    功能简介 在进行视频通话过程中,用户有时候会出现网络不好的情况,比如在进行多人视频通话或者多人唱歌时,我们需要实时显示用户的网络质量. 示例源码 参考 下载示例源码 获取源码. 相关源码请查看 &qu ...

随机推荐

  1. .NET 7 SDK 对容器的内置支持

    大家好,我是等天黑. .NET 又双叒叕出新功能了, 就在前几天,.NET 团队发布博客,宣称在 .NET SDK 中内置了对 .NET 应用容器化的支持. 小试牛刀 在正式介绍它之前,先通过一个简单 ...

  2. ZooKeeper 组件安装配置

    ZooKeeper 组件安装配置 下载和安装 ZooKeeper ZooKeeper最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/ 来获取,安装 Zoo ...

  3. ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本

    说明:linux下编译软件都需要先配置好该软件依赖的系统环境.系统环境可以通过软件的安装说明了解,例如:readme.md等文件或网页.这个前提条件很重要!后面正式编译出错基本都可以归结到系统环境配置 ...

  4. 【Vue学习笔记】—— vue的基础语法 { }

    学习笔记 作者:oMing vue v-on: 简称 @ <div id='app'> <button v-on:click='Show1'> </button> ...

  5. ORM增删改查并发性能测试2

    前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...

  6. OpenCV读写视频操作

    一.读取视频流 在使用OpenCV读取摄像头,或者处理一些磁盘中保存的视频文件时,通常使用VideoCapture进行读取. std::string video_path("/path/to ...

  7. Nginx几种负载均衡方式介绍

    Nginx几种负载均衡方式介绍 前言 负载均衡就是Nginx将请求分摊到不同的服务器中,保证服务的可用性,缓解服务压力,保证服务的响应速度,即使某一个应用服务不可用,也可以保证业务的正常进行,并且方便 ...

  8. Python 类型提示简介

    Python 3.6+ 版本加入了对"类型提示"的支持. 这些"类型提示"是一种新的语法(在 Python 3.6 版本加入)用来声明一个变量的类型. 通过声明 ...

  9. Beats:如何使用Winlogbeat

  10. Elasticsearch方案选型必须了解的10件事!

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484372&idx=1&sn=e863e46 ...