Starlink has bufferbloat. Bad.
 help / color / mirror / Atom feed
From: Christoph Paasch <cpaasch@apple.com>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: Glenn Fishbine <glenn@breakingpointsolutions.com>,
	Rpm <rpm@lists.bufferbloat.net>, tsvwg IETF list <tsvwg@ietf.org>,
	IETF IPPM WG <ippm@ietf.org>,
	Dave Taht via Starlink <starlink@lists.bufferbloat.net>,
	Measurement Analysis and Tools Working Group <mat-wg@ripe.net>,
	discuss <discuss@measurementlab.net>
Subject: Re: [Starlink] [Rpm] [M-Lab-Discuss] misery metrics & consequences
Date: Mon, 24 Oct 2022 16:44:04 -0700	[thread overview]
Message-ID: <CAF33DDA-8421-4284-9C22-C86771CA7DF3@apple.com> (raw)
In-Reply-To: <E45A11AA-3EAD-4BA7-9D29-B3FDCAC0B5FE@gmx.de>

[-- Attachment #1: Type: text/plain, Size: 9368 bytes --]



> On Oct 24, 2022, at 1:57 PM, Sebastian Moeller <moeller0@gmx.de> wrote:
> 
> Hi Christoph
> 
>> On Oct 24, 2022, at 22:08, Christoph Paasch <cpaasch@apple.com> wrote:
>> 
>> Hello Sebastian,
>> 
>>> On Oct 23, 2022, at 4:57 AM, Sebastian Moeller via Starlink <starlink@lists.bufferbloat.net> wrote:
>>> 
>>> Hi Glenn,
>>> 
>>> 
>>>> On Oct 23, 2022, at 02:17, Glenn Fishbine via Rpm <rpm@lists.bufferbloat.net> wrote:
>>>> 
>>>> As a classic died in the wool empiricist, granted that you can identify "misery" factors, given a population of 1,000 users, how do you propose deriving a misery index for that population?
>>>> 
>>>> We can measure download, upload, ping, jitter pretty much without user intervention.  For the measurements you hypothesize, how you you automatically extract those indecies without subjective user contamination.
>>>> 
>>>> I.e.  my download speed sucks. Measure the download speed.
>>>> 
>>>> My isp doesn't fix my problem. Measure what? How?
>>>> 
>>>> Human survey technology is 70+ years old and it still has problems figuring out how to correlate opinion with fact.
>>>> 
>>>> Without an objective measurement scheme that doesn't require human interaction, the misery index is a cool hypothesis with no way to link to actual data.  What objective measurements can be made?  Answer that and the index becomes useful. Otherwise it's just consumer whining.
>>>> 
>>>> Not trying to be combative here, in fact I like the concept you support, but I'm hard pressed to see how the concept can lead to data, and the data lead to policy proposals.
>>> 
>>> 	[SM] So it seems that outside of seemingly simple to test throughput numbers*, the next most important quality number (or the most important depending on subjective ranking) is how does latency change under "load". Absolute latency is also important albeit static high latency can be worked around within limits so the change under load seems more relevant. 
>>> 	All of flent's RRUL test, apple's networkQuality/RPM, and iperf2's bounceback test offer methods to asses latency change under load**, as do waveforms bufferbloat tests and even to a degree Ookla's speedtest.net. IMHO something like latency increase under load or apple's responsiveness measure RPM (basically the inverse of the latency under load calculated on a per minute basis, so it scales in the typical higher numbers are better way, unlike raw latency under load numbers where smaller is better).
>>> 	IMHO what networkQuality is missing ATM is to measure and report the unloaded RPM as well as the loaded the first gives a measure over the static latency the second over how well things keep working if capacity gets tight. They report the base RTT which can be converted to RPM. As an example:
>>> 
>>> macbook:~ user$ networkQuality -v
>>> ==== SUMMARY ====                                                                                         
>>> Upload capacity: 24.341 Mbps
>>> Download capacity: 91.951 Mbps
>>> Upload flows: 20
>>> Download flows: 16
>>> Responsiveness: High (2123 RPM)
>>> Base RTT: 16
>>> Start: 10/23/22, 13:44:39
>>> End: 10/23/22, 13:44:53
>>> OS Version: Version 12.6 (Build 21G115)
>> 
>> You should update to latest macOS:
>> 
>> $ networkQuality
>> ==== SUMMARY ====
>> Uplink capacity: 326.789 Mbps
>> Downlink capacity: 446.359 Mbps
>> Responsiveness: High (2195 RPM)
>> Idle Latency: 5.833 milli-seconds
>> 
>> ;-)
>> 
> 
> 
> 	[SM] I wish... just updated to the latest and greatest for this hardware (A1398):
> 
> macbook-pro:DPZ smoeller$ networkQuality
> ==== SUMMARY ====                                                                                         
> Upload capacity: 7.478 Mbps
> Download capacity: 2.415 Mbps
> Upload flows: 16
> Download flows: 20
> Responsiveness: Low (90 RPM)
> macbook-pro:DPZ smoeller$ networkQuality -v
> ==== SUMMARY ====                                                                                         
> Upload capacity: 5.830 Mbps
> Download capacity: 6.077 Mbps
> Upload flows: 12
> Download flows: 20
> Responsiveness: Low (56 RPM)
> Base RTT: 134
> Start: 10/24/22, 22:47:48
> End: 10/24/22, 22:48:09
> OS Version: Version 12.6.1 (Build 21G217)
> macbook-pro:DPZ smoeller$ 
> 
> Still, I only see the "Base RTT" with the -v switch and I am not sure whether that is identical to your "Idle Latency".
> 
> 
> I guess I need to convince my employer to exchange that macbook (actually because the battery starts bulging and not because I am behind with networkQuality versions ;) )

Yes, you would need macOS Ventura to get the latest and greatest.

>> But, what I read is: You are suggesting that “Idle Latency” should be expressed in RPM as well? Or, Responsiveness expressed in millisecond ?
> 
> 	[SM] Yes, I am fine with either (or both) the idea is to make it really easy to see whether/how much "working conditions" deteriorate the responsiveness / increase the latency-under-load. At least in verbose mode it would be sweet if nwtworkQuality could expose that information.

I see - let me think about that…


Christoph

>>> 
>>> Here RPM 2133 corresponds to 60000/2123 = 28.26 ms latency under load, while the Base RTT of 16ms corresponds to 60000/16 = 3750 RPM, son on this link load reduces the responsiveness by 3750-2123 = 1627 RPM a reduction by 100-100*2123/3750 = 43.4%, and that is with competent AQM and scheduling on the router.
>>> 
>>> Without competent AQM/shaping I get:
>>> ==== SUMMARY ====                                                                                         
>>> Upload capacity: 15.101 Mbps
>>> Download capacity: 97.664 Mbps
>>> Upload flows: 20
>>> Download flows: 12
>>> Responsiveness: Medium (427 RPM)
>>> Base RTT: 16
>>> Start: 10/23/22, 13:51:50
>>> End: 10/23/22, 13:52:06
>>> OS Version: Version 12.6 (Build 21G115)
>>> latency under load: 60000/427 = 140.52 ms 
>>> base RPM: 60000/16 = 3750 RPM
>>> reduction RPM: 100-100*427/3750 = 88.6%
>>> 
>>> 
>>> I understand apple's desire to have a single reported number with a single qualifier medium/high/... because in the end a link is only reliably usable if responsiveness under load stays acceptable, but with two numbers it is easier to see what one's ISP could do to help. (I guess some ISPs might already be unhappy with the single number, so this needs some diplomacy/tact)
>>> 
>>> Regards
>>> 	Sebastian
>>> 
>>> 
>>> 
>>> *) Seemingly as quite some ISPs operate their own speedtest servers in their network and ignore customers not reaching the contracted rates into speedtest-servers located in different ASs. As the product is called internet access I a inclined to expect that my ISP maintains sufficient peering/transit capacity to reach the next tier of AS at my contracted rate (the EU legislative seems to agree, see EU directive 2015/2120).
>>> 
>>> **) Most do by creating load themselves and measuring throughput at the same time, bounceback IIUC will focus on the latency measurement and leave the load generation optional (so offers a mode to measure responsiveness of a live network with minimal measurement traffic). @Bob, please correct me if this is wrong.
>>> 
>>> 
>>>> 
>>>> 
>>>> On Fri, Oct 21, 2022, 5:20 PM Dave Taht <dave.taht@gmail.com> wrote:
>>>> One of the best talks I've ever seen on how to measure customer
>>>> satisfaction properly just went up after the P99 Conference.
>>>> 
>>>> It's called Misery Metrics.
>>>> 
>>>> After going through a deep dive as to why and how we think and act on
>>>> percentiles, bins, and other statistical methods as to how we use the
>>>> web and internet are *so wrong* (well worth watching and thinking
>>>> about if you are relying on or creating network metrics today), it
>>>> then points to the real metrics that matter to users and the ultimate
>>>> success of an internet business: Timeouts, retries, misses, failed
>>>> queries, angry phone calls, abandoned shopping carts and loss of
>>>> engagement.
>>>> 
>>>> https://www.p99conf.io/session/misery-metrics-consequences/
>>>> 
>>>> The ending advice was - don't aim to make a specific percentile
>>>> acceptable, aim for an acceptable % of misery.
>>>> 
>>>> I enjoyed the p99 conference more than any conference I've attended in years.
>>>> 
>>>> -- 
>>>> This song goes out to all the folk that thought Stadia would work:
>>>> https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz
>>>> Dave Täht CEO, TekLibre, LLC
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups "discuss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to discuss+unsubscribe@measurementlab.net.
>>>> To view this discussion on the web visit https://groups.google.com/a/measurementlab.net/d/msgid/discuss/CAA93jw4w27a1EO_QQG7NNkih%2BC3QQde5%3D_7OqGeS9xy9nB6wkg%40mail.gmail.com.
>>>> _______________________________________________
>>>> Rpm mailing list
>>>> Rpm@lists.bufferbloat.net
>>>> https://lists.bufferbloat.net/listinfo/rpm
>>> 
>>> _______________________________________________
>>> Starlink mailing list
>>> Starlink@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/starlink


[-- Attachment #2: Type: text/html, Size: 33062 bytes --]

  reply	other threads:[~2022-10-24 23:44 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-21 21:04 [Starlink] " Dave Taht
2022-10-21 23:50 ` Dave Taht
2022-10-25  6:15   ` [Starlink] [Rpm] " Taraldsen Erik
2022-10-22 20:18 ` [Starlink] [M-Lab-Discuss] " rjmcmahon
2022-10-22 21:00 ` [Starlink] " Dave Collier-Brown
2022-10-22 22:18   ` Dave Taht
2022-10-23  0:17 ` [Starlink] [M-Lab-Discuss] " Glenn Fishbine
2022-10-23 11:57   ` [Starlink] [Rpm] " Sebastian Moeller
2022-10-23 12:17     ` Dave Collier-Brown
2022-10-23 12:26       ` Sebastian Moeller
2022-10-23 13:11         ` Dave Collier-Brown
2022-10-23 13:52           ` Sebastian Moeller
2022-10-23 14:00             ` Dave Collier-Brown
2022-10-23 14:08               ` Sebastian Moeller
2022-10-23 14:08             ` Dave Collier-Brown
2022-10-23 15:01               ` tom
2022-10-24 20:08     ` Christoph Paasch
2022-10-24 20:57       ` Sebastian Moeller
2022-10-24 23:44         ` Christoph Paasch [this message]
2022-10-25  0:08           ` rjmcmahon
2022-10-25  0:12             ` rjmcmahon
2022-10-25  2:28           ` [Starlink] [tsvwg] " Neal Cardwell
2022-10-25 15:17             ` [Starlink] [Rpm] [tsvwg] " rjmcmahon
2022-10-31  8:59             ` [Starlink] [ippm] [tsvwg] [Rpm] " Ruediger.Geib
2022-10-25 15:50     ` [Starlink] [ippm] " J Ignacio Alvarez-Hamelin
2022-10-26  8:14       ` [Starlink] [mat-wg] " Dave Taht
2022-10-25 16:07     ` [Starlink] " J Ignacio Alvarez-Hamelin
2022-10-25 17:02       ` [Starlink] [Rpm] [ippm] " rjmcmahon
2022-10-25 20:17         ` J Ignacio Alvarez-Hamelin
2022-10-24 17:37   ` [Starlink] " Dave Collier-Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/starlink.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAF33DDA-8421-4284-9C22-C86771CA7DF3@apple.com \
    --to=cpaasch@apple.com \
    --cc=discuss@measurementlab.net \
    --cc=glenn@breakingpointsolutions.com \
    --cc=ippm@ietf.org \
    --cc=mat-wg@ripe.net \
    --cc=moeller0@gmx.de \
    --cc=rpm@lists.bufferbloat.net \
    --cc=starlink@lists.bufferbloat.net \
    --cc=tsvwg@ietf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox