General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Sina Khanifar <sina@waveform.com>, bloat <bloat@lists.bufferbloat.net>
Cc: sam@waveform.com
Subject: Re: [Bloat] Updated Bufferbloat Test
Date: Thu, 25 Feb 2021 13:27:30 +0100	[thread overview]
Message-ID: <87r1l41gel.fsf@toke.dk> (raw)
In-Reply-To: <CABF4YOX2XMzWJOw+mm2e_eEn+Srv3WTiG3Fh__ryZGj7ire3MA@mail.gmail.com>

Sina Khanifar <sina@waveform.com> writes:

> Based on Toke’s feedback:
> https://lists.bufferbloat.net/pipermail/bloat/2020-November/015960.html
> https://lists.bufferbloat.net/pipermail/bloat/2020-November/015976.html

Thank you for the update, and especially this very detailed changelog!
I'm impressed! A few points on the specific items below:

>   * We changed the way the speed tests run to show an instantaneous
> speed as the test is being run.

Much better, I can actually see what's going on now :)
Maybe an 'abort' button somewhere would be useful? Once you've clicked
start the only way to abort is currently to close the browser tab...

>   * We moved the bufferbloat grade into the main results box.

Also very good!

>   * We tried really hard to get as close to saturating gigabit
> connections as possible. We redesigned completely the way we chunk
> files, added a “warming up” period, and spent quite a bit optimizing
> our code to minimize CPU usage, as we found that was often the
> limiting factor to our speed test results.

Yup, this seems to work better now! I can basically saturate my
connection now; Chromium seems to be a bit better than Firefox in this
respect, but I ended up getting very close on both:

Chromium:
https://www.waveform.com/tools/bufferbloat?test-id=b14731d3-46d7-49ba-8cc7-3641b495e6c7
Firefox:
https://www.waveform.com/tools/bufferbloat?test-id=877f496a-457a-4cc2-8f4c-91e23065c59e

(this is with a ~100Mbps base load on a Gbps connection, so at least the
Chromium result is pretty much link speed).

Interestingly, while my link is not bloated (the above results are
without running any shaping, just FQ-CoDel on the physical link), it did
manage to knock out the BFD exchange with my upstream BGP peers, causing
routes to flap. So it's definitely saturating something! :D

>   * We changed the shield grades altogether and went through a few
> different iterations of how to show the effect of bufferbloat on
> connectivity, and ended up with a “table view” to try to show the
> effect that bufferbloat specifically is having on the connection
> (compared to when the connection is unloaded).

I like this, with one caveat: When you have a good score, you end up
with a table that has all checkmarks in both the "normally" and "with
bufferbloat" columns, which is a bit confusing (makes one think "huh, I
can do low-latency gaming with bufferbloat?"). So I think changing the
column headings would be good; if I'm interpreting what you're trying to
convey, the second column should really say "your connection", right?
And maybe "normally" should be "Ideally"?

>   * We now link from the results table view to the FAQ where the
> conditions for each type of connection are explained.

This works well. I also like the FAQ in general (the water/oil in the
sink analogy is great!). What did you base the router recommendations
on? I haven't heard about that Asus gaming router before, does that ship
SQM? Also, the first time you mention the open source distributions,
OpenWrt is not a link (but it is the second time around).

>   * We also changed the way we measure latency and now use the faster
> of either Google’s CDN or Cloudflare at any given location.

Are you sure this is working? Mine seems to pick the Google fonts CDN.
The Javascript console outputs 'latency_source_selector.js:26 times
(2) [12.81000001472421, 12.80999998562038]', but in the network tab I
see two OPTIONS requests to fonts.gstatic.com, so I suspect those two
requests both go there? My ICMP ping time to Google is ~11ms, and it's
1.8ms to speed.cloudflare.com, so it seems a bit odd that it would pick
the other one... But maybe it's replying faster to HTTP?

> We’re also using the WebTiming APIs to get a more accurate latency
> number, though this does not work on some mobile browsers (e.g. iOS
> Safari) and as a result we show a higher latency on mobile devices.
> Since our test is less a test of absolute latency and more a test of
> relative latency with and without load, we felt this was workable.

That seems reasonable.

>   * Our jitter is now an average (was previously RMS).

I'll echo what the others have said about jitter.

>   * The “before you start” text was rewritten and moved above the start button.
>   * We now spell out upload and download instead of having arrows.
>   * We hugely reduced the number of cross-site scripts. I was a bit
> embarrassed by this if I’m honest - I spent a long time building web
> tools for the EFF, where we almost never allowed any cross-site
> scripts. * Our site is hosted on Shopify, and adding any features via
> their app store ends up adding a whole lot of gunk. But we uninstalled
> some apps, rewrote our template, and ended up removing a whole lot of
> the gunk. There’s still plenty of room for improvement, but it should
> be a lot better than before.

Thank you for this! It even works without allowing all the shopify
scripts, so that's all good :)

-Toke

  parent reply	other threads:[~2021-02-25 12:27 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-24 18:22 Sina Khanifar
2021-02-24 22:10 ` Dave Taht
2021-02-24 23:39   ` Simon Barber
2021-02-25  5:56   ` Sina Khanifar
2021-02-25  7:15     ` Simon Barber
2021-02-25  7:32       ` Sina Khanifar
2021-02-25 13:38         ` Simon Barber
2021-02-25 13:43           ` Dave Taht
2021-02-25 13:49           ` Mikael Abrahamsson
2021-02-25 13:53             ` Simon Barber
2021-02-25 19:47               ` Sina Khanifar
2021-02-25 19:56                 ` Simon Barber
2021-02-25 20:10                   ` Sina Khanifar
2021-02-25 20:52                     ` Simon Barber
2021-02-25 20:53                     ` Simon Barber
2021-02-25 13:46         ` Simon Barber
2021-02-25  7:20     ` Simon Barber
2021-02-25 10:51     ` Sebastian Moeller
2021-02-25 20:01       ` Sina Khanifar
2021-02-25 20:14         ` Sebastian Moeller
2021-02-26  1:06           ` Daniel Lakeland
2021-02-26  8:20             ` Sina Khanifar
2021-02-26 17:25               ` Michael Richardson
2021-02-24 22:15 ` Kenneth Porter
2021-02-25  5:29   ` Kenneth Porter
2021-02-25  5:35     ` Dave Taht
2021-02-25  6:24       ` Kenneth Porter
2021-02-25  1:16 ` David Collier-Brown
2021-02-25  6:21   ` Sina Khanifar
2021-02-25  4:48 ` Marco Belmonte
     [not found] ` <1D68EF40C3A8A269831408C8@172.27.17.193>
2021-02-25  5:58   ` Sina Khanifar
2021-02-25  9:47 ` Mikael Abrahamsson
2021-02-25 10:49 ` Sebastian Moeller
2021-02-25 20:41   ` Sina Khanifar
2021-02-25 20:50     ` Sina Khanifar
2021-02-25 21:15       ` Sebastian Moeller
2021-02-26  8:23         ` Sina Khanifar
2021-02-26 18:41           ` Sina Khanifar
2021-02-26 19:58             ` Sebastian Moeller
2021-02-25 12:27 ` Toke Høiland-Jørgensen [this message]
2021-02-25 14:48   ` Toke Høiland-Jørgensen

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

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

  git send-email \
    --in-reply-to=87r1l41gel.fsf@toke.dk \
    --to=toke@toke.dk \
    --cc=bloat@lists.bufferbloat.net \
    --cc=sam@waveform.com \
    --cc=sina@waveform.com \
    /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