From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [IPv6:2a0c:4d80:42:2001::664]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id C96223B2A4 for ; Thu, 25 Feb 2021 07:27:32 -0500 (EST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1614256050; bh=mFXeJAf6+kPYyntRcNaf0Xief+rQShwawjMMKbwSU8s=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=KIACIgKOsPTiRWEDCDkfPGwHMcCqyze0VWGlYJfHcXQI6RcNmznHwQnbC6WKXC96B V6bB4Duj40x+4ffluYqZP5eHPEznLwjo7mPjY11U+11FrrC4FevBGUWosvMw/FNKcH YfOeRqUTr15v9yyl+lTgH2e4uX5gQM7Zzs+NlPV7i/44VAHytCYvaFYc3XjaBSWzJI 8clQIxU87ik+EjwQRnNeq6RNwe4GoPko7lWJSYi5J7uEpI7U4mL9ifcjJ9WR8virnL XhzrYwQ14U+toMKMESizThY2KW6FZGIOIiODKBkOMWCVaiDsPBYUmViuL5dOA8Hcjq WrySoQ12Y4Ckw== To: Sina Khanifar , bloat Cc: sam@waveform.com In-Reply-To: References: Date: Thu, 25 Feb 2021 13:27:30 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87r1l41gel.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Bloat] Updated Bufferbloat Test X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2021 12:27:32 -0000 Sina Khanifar writes: > Based on Toke=E2=80=99s 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 =E2=80=9Cwarming up=E2=80=9D 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=3Db14731d3-46d7-49ba-8cc= 7-3641b495e6c7 Firefox: https://www.waveform.com/tools/bufferbloat?test-id=3D877f496a-457a-4cc2-8f4= c-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 =E2=80=9Ctable view=E2=80=9D 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=E2=80=99s 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)=C2=A0[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=E2=80=99re 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 =E2=80=9Cbefore you start=E2=80=9D text was rewritten and moved a= bove 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=E2=80=99m 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=E2=80=99s still plenty of room for improvement, but it sh= ould > 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