Thanks @dtaht! I've been using networkQuality
on and off but haven't kept thorough records. The stock Unifi firmware on my APs (mix of nanoHD and 6 Lite) was showing anything from 2000-3000 RPM to the default Apple test server, and I'm seeing similar results after flashing to OpenWRT but:
-
networkQuality
normally tests to an external server of course (where my previous tests were LAN only), so I guess my router in the middle and the usual vagaries of the internet will play a part as well; I've therefore tried something to focus on the wireless leg of the journey (see below)
-
the RPM metric seems to vary a fair bit at the top end, so without collecting many more samples I can't be certain of a difference and I don't think there's a command-line switch to gather data for longer. (I guess I should write a script and store a collection of test runs.)
For instance, three runs in quick succession to the Apple servers gave RPMs of 3254, 2546 and 2742:
% networkQuality -v
==== SUMMARY ====
Upload capacity: 10.514 Mbps
Download capacity: 53.944 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (3254 RPM)
Base RTT: 11
Start: 19/12/2021, 15:18:48
End: 19/12/2021, 15:18:58
OS Version: Version 12.1 (Build 21C52)
% networkQuality -v
==== SUMMARY ====
Upload capacity: 10.679 Mbps
Download capacity: 54.232 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (2546 RPM)
Base RTT: 11
Start: 19/12/2021, 15:19:00
End: 19/12/2021, 15:19:10
% networkQuality -v
==== SUMMARY ====
Upload capacity: 10.192 Mbps
Download capacity: 54.281 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (2742 RPM)
Base RTT: 8
Start: 19/12/2021, 15:19:12
End: 19/12/2021, 15:19:22
To focus more on LAN-side wifi performance, I used the networkQuality server which the Apple folk have conveniently open-sourced, to run a LAN only test, though again I'm seeing high variability.
Here, for instance is a run of three tests in succession to a local wired machine (note the higher throughput) which gave RPMs of 2990, 2455, 1365 and 2064.
% networkQuality -C https://my.local.server:443/config -v
==== SUMMARY ====
Upload capacity: 341.823 Mbps
Download capacity: 440.442 Mbps
Upload flows: 12
Download flows: 20
Responsiveness: High (2990 RPM)
Base RTT: 3
Start: 19/12/2021, 15:15:24
End: 19/12/2021, 15:15:39
OS Version: Version 12.1 (Build 21C52)
% networkQuality -C https://my.local.server:443/config -v
==== SUMMARY ====
Upload capacity: 342.780 Mbps
Download capacity: 257.074 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (2455 RPM)
Base RTT: 11
Start: 19/12/2021, 15:15:44
End: 19/12/2021, 15:15:54
OS Version: Version 12.1 (Build 21C52)
% networkQuality -C https://my.local.server:443/config -v
==== SUMMARY ====
Upload capacity: 371.912 Mbps
Download capacity: 345.958 Mbps
Upload flows: 12
Download flows: 20
Responsiveness: High (1365 RPM)
Base RTT: 11
Start: 19/12/2021, 15:15:59
End: 19/12/2021, 15:16:15
OS Version: Version 12.1 (Build 21C52)
% networkQuality -C https://my.local.server:443/config -v
==== SUMMARY ====
Upload capacity: 378.863 Mbps
Download capacity: 210.255 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (2064 RPM)
Base RTT: 3
Start: 19/12/2021, 15:17:55
End: 19/12/2021, 15:18:05
OS Version: Version 12.1 (Build 21C52)
% networkQuality -v
==== SUMMARY ====
Upload capacity: 10.192 Mbps
Download capacity: 54.281 Mbps
Upload flows: 12
Download flows: 12
Responsiveness: High (2742 RPM)
Base RTT: 8
Start: 19/12/2021, 15:19:12
End: 19/12/2021, 15:19:22
OS Version: Version 12.1 (Build 21C52)
I ran the go
version of networkQualityd
on a wired ethernet my.local.server
and then networkQuality
on the same Mac laptop (M1 Air) used for the previous tests. Invocation on the server was sudo ./networkqualityd --cert-file /etc/letsencrypt/live/my.local.server/fullchain.pem --key-file /etc/letsencrypt/live/my.local.server/privkey.pem --public-name my.local.server -domain my.local.server -listen-addr 192.168.1.2 -base-port 443
Happy to do tests comparing stock Unifi f/w against OpenWRT on identical APs, but wanted to share this approach first to check the methodology is sound.