[Rpm] RPM test / checkNetworkQuality.sh script

Jonathan Foulkes jf at jonathanfoulkes.com
Tue Jul 13 17:28:30 EDT 2021


> You can install the "WiFi profile" from

Thank you very much, that worked.

And a tip for the others, an iPad connected through a USB to ethernet adapter will behave like all other Apple OSs and do the right thing and use the fastest link.
On WiFi only, I got an RPM of 815
and then wired, I got a 943

> As I mentioned to Rich, pcaps, logs,... will allow to understand what is
> going on.

Once I can run on the MacOS, happy to oblige with that, unless there is mechanism for same on the iPad.

Cheers,

Jonathan

> On Jul 13, 2021, at 4:26 PM, Christoph Paasch <cpaasch at apple.com> wrote:
> 
> On 07/13/21 - 15:04, Jonathan Foulkes wrote:
>> Hi Christoph,
>> 
>> Is there a means of running the RPM test on an iOS 15 beta 2 (public beta) on an iPad Pro? It’s the only device I can spare to run the beta on, and I’m not on the Apple Developer program (I was for decades, but then went into the networking world ;) )
> 
> You can install the "WiFi profile" from
> https://developer.apple.com/bug-reporting/profiles-and-logs/?name=wifi.
> 
> That will make a "Responsiveness" UI appear in Settings -> WiFi -> Your WiFi AP -> Diagnostics
> 
>> Like Rich, I’ve spotted inconsistencies from run to run, even on a line with just the router and my laptop connected. Is there a means of increasing the test runtime?
> 
> No, there is no way to increase the test runtime.
> 
> As I mentioned to Rich, pcaps, logs,... will allow to understand what is
> going on.
> 
> 
> Some variance is expected over the Internet. Rich's variance does not look
> outrageous to me, besides 2 outliers (one at ~800 and one at ~1500).
> 
> The tool gives a guidance on how bad the bufferbloat is. Accurately
> measuring bufferbloat is extremely hard in fact because it is not trivial to
> keep the buffers reliably full with standard HTTP/2 traffic.
> 
> 
> Christoph
> 
> 
>> 
>> Rich, I like the ideas.
>> 
>> Regards,
>> 
>> Jonathan Foulkes
>> 
>>> On Jul 13, 2021, at 2:53 PM, Christoph Paasch via Rpm <rpm at lists.bufferbloat.net> wrote:
>>> 
>>> Hello Rich,
>>> 
>>> On 07/10/21 - 17:14, Rich Brown via Rpm wrote:
>>>> I'm so glad to see this mailing list. I started to play with the RPM test, and now I know where I can send feedback.
>>> 
>>> please note that this mailing-list is not an "official" place to provide
>>> feedback on Apple's "networkQuality" tool. The proper channel for that is
>>> the Apple Feedback Assistant.
>>> 
>>>> I recently installed Monterey b2 on a Parallels Desktop VM on macOS 10.15.7 on a 2019 MBP. I have several observations/requests:
>>>> 
>>>> 1. I felt the urge to include identifying information along with the networkQuality program's output. I wrote a script that includes a date/time stamp plus a text parameter to identify the test. (Prior "art" - my coffee-shop-bloat-test.sh at https://github.com/richb-hanover/coffee-shop-bloat-test.) Here's the checkNetworkQuality.sh script:
>>>> 
>>>> ========
>>>> #/bin/bash
>>>> # checkNetworkQuality.sh - display RPMs for this network
>>>> # Parameter is a user-entered description for the test condition/location/etc.
>>>> 
>>>> echo `date`: $1
>>>> /usr/bin/networkQuality -v
>>>> ========
>>>> 
>>>> 2. Feature Requests: From this experience, I would like to see /usr/bin/networkQuality enhanced to (always?) display the date/time of the run, and to include an optional parameter for a test name/information. These parameters should also be included as new properties of the "-c" output. In addition, it might be good to include the build number in the output 
>>> 
>>> Let me see what can be done here...
>>> 
>>>> 3. I ran the test several times on my connection through an IQrouter v2, with 25/25 mbps fiber optic service. I notice significant variance in the RPM numbers, and do not believe there was any other significant traffic at the time. Is this variance expected?
>>> 
>>> No, it is not expected. Please collect the RPM-numbers, pcaps and log-output
>>> from the command "log stream --info --debug --style compact --process networkQuality"
>>> 
>>>> 4. I do not know what happened to the network at 12:06:56 EDT (see below). It obviously recovered 15 seconds later...
>>> 
>>> When you hit something like that, you can always run "sysdiagnose"
>>> after-the-fact and share the resulting archive with me or via Apple Feedback
>>> Assistant.
>>> 
>>> 
>>> Cheers,
>>> Christoph
>>> 
>>>> 
>>>> Thanks for listening!
>>>> 
>>>> Rich
>>>> 
>>>> 
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM On"
>>>> Thu Jul 8 11:54:43 EDT 2021 SQM On
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.601 Mbps
>>>> Download capacity: 22.342 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: Medium (936 RPM)
>>>> Base RTT: 29
>>>> richb at Mac ~ % nano checkNetworkQuality.sh
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM On"
>>>> Thu Jul 8 11:55:11 EDT 2021: SQM On
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.279 Mbps
>>>> Download capacity: 23.015 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1299 RPM)
>>>> Base RTT: 21
>>>> richb at Mac ~ % /usr/bin/networkQuality -c
>>>> 
>>>> {
>>>> "lud_self_ul_h2" : [
>>>>   50.168037414550781,
>>>>   79.007026672363281,
>>>>   34.090042114257812,
>>>>   60.513019561767578,
>>>>   149.68597412109375,
>>>>   160.39801025390625,
>>>>   194.803955078125,
>>>>   194.86808776855469,
>>>>   331.38299560546875
>>>> ],
>>>> "responsiveness" : 1246,
>>>> "ul_throughput" : 22345152,
>>>> "lud_foreign_tcp_handshake_443" : [
>>>>   27,
>>>>   31,
>>>>   31,
>>>>   27,
>>>>   29,
>>>>   29,
>>>>   29,
>>>>   29
>>>> ],
>>>> "dl_flows" : 12,
>>>> "ul_flows" : 12,
>>>> "dl_throughput" : 22535718,
>>>> "lud_foreign_h2_req_resp" : [
>>>>   46,
>>>>   61,
>>>>   51,
>>>>   52,
>>>>   53,
>>>>   61,
>>>>   117,
>>>>   97
>>>> ]
>>>> }
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM On"
>>>> Thu Jul 8 12:03:49 EDT 2021: SQM On
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.356 Mbps
>>>> Download capacity: 22.686 Mbps
>>>> Upload flows: 12
>>>> Download flows: 20
>>>> Responsiveness: High (1391 RPM)
>>>> Base RTT: 18
>>>> richb at Mac ~ % sh checkNetworkQuality.sh
>>>> Thu Jul 8 12:04:34 EDT 2021:
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.430 Mbps
>>>> Download capacity: 21.363 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1592 RPM)
>>>> Base RTT: 27
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:05:02 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.672 Mbps
>>>> Download capacity: 21.199 Mbps
>>>> Upload flows: 16
>>>> Download flows: 20
>>>> Responsiveness: High (1028 RPM)
>>>> Base RTT: 16
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:06:29 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.240 Mbps
>>>> Download capacity: 22.584 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1516 RPM)
>>>> Base RTT: 16
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:06:42 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.405 Mbps
>>>> Download capacity: 21.679 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: Medium (924 RPM)
>>>> Base RTT: 21
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:06:56 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 0.000 bps
>>>> Download capacity: 0.000 bps
>>>> Upload flows: 0
>>>> Download flows: 0
>>>> Responsiveness: Low (0 RPM)
>>>> Base RTT: 23
>>>> Error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://mensura.cdn-apple.com/api/v1/seed/large, NSErrorFailingURLKey=https://mensura.cdn-apple.com/api/v1/seed/large, _NSURLErrorRelatedURLSessionTaskErrorKey=(
>>>>   "LocalDataTask <E64FFF59-8A21-40A7-A841-057A05435739>.<1>"
>>>> ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <E64FFF59-8A21-40A7-A841-057A05435739>.<1>, NSUnderlyingError=0x600001c35f80 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x60000316cb90 [0x7ff85055bd20]>{length = 16, capacity = 16, bytes = 0x100201bb11fd0f0f0000000000000000}}}}
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:07:16 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.850 Mbps
>>>> Download capacity: 22.660 Mbps
>>>> Upload flows: 12
>>>> Download flows: 20
>>>> Responsiveness: Medium (873 RPM)
>>>> Base RTT: 21
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:07:38 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.991 Mbps
>>>> Download capacity: 22.442 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1212 RPM)
>>>> Base RTT: 16
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:07:52 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.988 Mbps
>>>> Download capacity: 22.328 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1278 RPM)
>>>> Base RTT: 16
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:08:10 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 22.292 Mbps
>>>> Download capacity: 22.615 Mbps
>>>> Upload flows: 12
>>>> Download flows: 20
>>>> Responsiveness: High (1456 RPM)
>>>> Base RTT: 14
>>>> richb at Mac ~ % sh checkNetworkQuality.sh "SQM Enabled"
>>>> Thu Jul 8 12:08:39 EDT 2021: SQM Enabled
>>>> ==== SUMMARY ====
>>>> Upload capacity: 21.950 Mbps
>>>> Download capacity: 22.231 Mbps
>>>> Upload flows: 12
>>>> Download flows: 12
>>>> Responsiveness: High (1329 RPM)
>>>> Base RTT: 16
>>>> richb at Mac ~ %
>>>> _______________________________________________
>>>> Rpm mailing list
>>>> Rpm at lists.bufferbloat.net
>>>> https://lists.bufferbloat.net/listinfo/rpm
>>> _______________________________________________
>>> Rpm mailing list
>>> Rpm at lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/rpm
>> 



More information about the Rpm mailing list