Standard internet speed tests typically measure raw upload and download throughput under ideal conditions. However, high bandwidth does not guarantee a lag-free experience during video calls, competitive gaming, or real-time streaming. When network buffers become saturated with bulky file transfers, latency spikes dramatically—a phenomenon known as bufferbloat. Starting in macOS Monterey, Apple integrated networkQuality, an advanced command-line diagnostic tool based on the Apple responsiveness specification (IETF RFC 9673). It measures both bandwidth capacity and real-world network responsiveness concurrently.
Understanding Roundtrips Per Minute (RPM) and Responsiveness
Traditional metrics report latency in idle milliseconds. In contrast, networkQuality evaluates network responsiveness using RPM (Roundtrips Per Minute). RPM measures how many distinct round-trip requests a connection can successfully complete within one minute while the line is saturated with heavy bidirectional traffic.
Apple categorises connection responsiveness into three practical tiers:
- Low (Under 400 RPM): Noticeable delays, stuttering audio, and frozen video streams occur when someone on the local network downloads or uploads files.
- Medium (400 to 1,200 RPM): Suitable for everyday browsing and calls, though intense uploads may occasionally introduce minor packet delays.
- High (Above 1,200 RPM): Optimal responsiveness. Real-time conferencing, gaming, and responsive cloud interactions remain seamless regardless of competing local network traffic.
Running a Standard Network Quality Assessment
To run an assessment, open the Terminal application (located in /Applications/Utilities/Terminal.app) and execute the base command:
networkQuality
The command conducts parallel TCP and HTTP/2 or HTTP/3 streams against Apple content distribution infrastructure (CDN edge nodes), testing simultaneous uplink and downlink capacity. After approximately 10 to 15 seconds, the terminal displays the results:
==== SUMMARY ====
Uplink capacity: 94.212 Mbps
Downlink capacity: 482.350 Mbps
Responsiveness: High (1842 RPM)
Testing Sequential vs Parallel Workloads
By default, networkQuality tests uplink and downlink streams simultaneously. While simultaneous testing accurately simulates real-world contention, you may isolate individual directions to identify whether upload or download queuing causes latency degradation.
To execute a sequential test where downlink is measured first, followed separately by uplink, add the -s flag:
networkQuality -s
Sequential testing isolates asymmetric ISP bandwidth restrictions, helping determine whether bufferbloat originates predominantly from upstream saturation.
Targeting Specific Network Interfaces
If your Mac is connected to multiple networks—such as Wi-Fi and an active Thunderbolt Ethernet adapter or VPN interface—networkQuality tests the primary default gateway by default. To benchmark a specific network interface directly, use the -I flag followed by the BSD interface name (e.g., en0 for built-in Wi-Fi or en5 for Ethernet):
networkQuality -I en0
To verify the BSD name of your active adapters before testing, run networksetup -listallhardwareports.
Exporting Detailed Metrics and JSON Diagnostics
For network engineers, automated monitoring scripts, or diagnostic logging, networkQuality can output granular JSON payloads using the -c (computer-readable) flag:
networkQuality -c -v
The structured JSON output includes deep diagnostic variables, such as:
base_rtt: Minimum round-trip time observed in milliseconds during idle baseline probing.responsiveness: Precise calculated RPM value under load.ul_throughput&dl_throughput: Exact bits-per-second transfer rates.tcp_transport: Transport layer configuration metrics and connection counts.
To save the results directly to a timestamped file for network auditing:
networkQuality -c > ~/Desktop/network_audit_$(date +%Y%m%d_%H%M%S).json
Command Options Reference Table
| Flag | Option Purpose | Use Case |
|---|---|---|
networkQuality |
Default bidirectional benchmark | Quick assessment of throughput and real-time responsiveness. |
-s |
Sequential testing mode | Separates upload and download testing to isolate bufferbloat source. |
-I [interface] |
Specific network interface targeting | Compares Wi-Fi (en0) versus wired Ethernet performance. |
-v |
Verbose console reporting | Displays step-by-step connection stages and live progress. |
-c |
Computer-readable JSON format | Automates metric capture for logging and shell scripts. |
-p |
Private testing flag | Prevents reporting diagnostic telemetry to external servers. |
Resolving Low Responsiveness and Bufferbloat on Mac
If your Mac consistently reports low or medium RPM scores despite high headline download speeds, implement these corrective steps:
- Enable SQM on Your Router: Smart Queue Management (such as CAKE or FQ-CoDel algorithms) dynamically prioritises small interactive packets over bulk data downloads, virtually eliminating bufferbloat at the gateway level.
- Switch from 2.4 GHz to 5 GHz or 6 GHz Wi-Fi: Channel congestion and radio retries on 2.4 GHz networks artificially inflate roundtrip latency under load.
- Disable Background Cloud Backups During Critical Calls: High-bandwidth upload sync utilities can monopolise upstream queues if router QoS is disabled.