revolutions per minute - a new metric for measuring responsiveness
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: Rpm <rpm@lists.bufferbloat.net>
Subject: [Rpm] final farewell.
Date: Sun, 16 Apr 2023 12:41:45 +0200	[thread overview]
Message-ID: <8C55CADC-AD2E-4C99-81C3-F083339B7CE8@gmx.de> (raw)

Mmmh,

so I recompiled and tested goresponsiveness after a fix for a cosmetic issue was anounced (issue is fixed, thanks)

But then I stumbled over a new line in the output:

"bash-3.2$ time ./networkQuality --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config  --rpmtimeout 60 --extended-stats --logger-filename go_networkQuality_$(date +%Y%m%d_%H%M%S)
04-16-2023 10:02:21 UTC Go Responsiveness to mensura.cdn-apple.com:443...
RPM:    39 (P90)
RPM:   207 (Double-Sided 10% Trimmed Mean)
Download:  80.994 Mbps ( 10.124 MBps), using 12 parallel connections.
Upload:    23.125 Mbps (  2.891 MBps), using 12 parallel connections.
Extended Statistics:
	Maximum Segment Size: 1208
	Total Bytes Retransmitted: 4268
	Retransmission Ratio: 0.54%
	Total Bytes Reordered: 98003004
	Average RTT: 33.46153846153846


real	0m12.842s
user	0m1.010s
sys	0m1.625s"


RPM:   207 (Double-Sided 10% Trimmed Mean) ?


	[SM] Trimmed mean? That got my whiskers in attention position, looking at the current draft I found the following "rationale":


"Over the timeframe of these intervals a potentially large number of samples has been collected. These may be affected by noise in the measurements, and outliers. Thus, to aggregate these we suggest to use a trimmed mean at the TMP (Trimmed Mean Percentage - default to 95%) percentile, thus providing the following numbers: TM(tcp_f), TM(tls_f), TM(http_f), TM(http_l).

The responsiveness is then calculated as the weighted mean:

Responsiveness = 60000 /
(1/6*(TM(tcp_f) + TM(tls_f) + TM(http_f)) + 1/2*TM(http_s))

This responsiveness value presents round-trips per minute (RPM)."


[SM] First a question TMP 95% what does that mean, the mean from 2.5% to 97.5% or from 0% to 95% 0r fro 5% to 95%? I am sure there are clear definitions but I think the draft should spell that out explicitly.


	[SM] But honestly, I am not 100% convinced this is actually a good idea... I think I understand the motivation here, boiling down a somewhat complex issue into a single number, but "trimmed mean" seems exceptionally un-useful for the type of distribution we are dealing with here:
a) we have zero means to differentiate "noise in the measurements, and outliers (which too me are more or less the same, any "outlier" not assigned to a random noise process is data)" from veridical measurements
b) RTT/OWD distributions are IMHO almost never symmetric (there is a hard lower limit, but more slack on the other end)
c) doing a trimmed mean of a skewed distribution will likely result in a higher RPM estimate than using a non-trimmed mean, which given a) seems problematic


The core of the issue is the desire for a single number... but I believe that is non-negotiable by now (similar the use of the inverse of the actually relevant delay data, few folks actually intuitively grasps inverse values and how to operate on them)

	[SM] Also this:

"The more probes that are sent, the more data available for calculation. In order to generate as much data as possible, the Responsiveness Test specifies that a client issue these probes regularly. There is, however, a risk that on low-capacity networks the responsiveness probes themselves will consume a significant amount of the capacity. Because the test mandates first saturating capacity before probing for responsiveness, we are able to accurately estimate how much of the capacity the responsiveness probes will consume and never send more probes than the network can handle."


	[SM] seems convincing, but in my case the reported working load stayed well below the actual capacity, so the "we are able to accurately estimate how much of the capacity the responsiveness probes will consume" seems a bit optimistic...


I understand posting here will not change anything, but I thought is appropriate to make my last post on-topic, for a change ;)

Regards
	Sebastian



             reply	other threads:[~2023-04-16 10:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-16 10:41 Sebastian Moeller [this message]
2023-04-17 16:57 ` Christoph Paasch

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/rpm.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=8C55CADC-AD2E-4C99-81C3-F083339B7CE8@gmx.de \
    --to=moeller0@gmx.de \
    --cc=rpm@lists.bufferbloat.net \
    /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