[Rpm] RPM test / checkNetworkQuality.sh script

Christoph Paasch cpaasch at apple.com
Tue Jul 13 16:26:55 EDT 2021


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