<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello everyone! <div class=""><br class=""></div><div class="">My name is Arshan and I’m one of the developers of the Bufferbloat project! Firstly thank you so much for your feedbacks! So many good points were raised that we will take into consideration for our later versions. I will attempt to answer your questions to the best of my knowledge so far (I am an intern, nonetheless :) ). </div><div class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></span></div><div class=""><font color="#000000" class="">Caution: Very long email ahead. I apologize in advance for this, I tried to address your individual questions, and I was offline for a while so I’m replying to lots of points here.</font></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">@Michael Richardson</b></div><div class=""><blockquote type="cite" class=""><span id="docs-internal-guid-1f198dc5-7fff-5307-e22a-99d7290b2d85" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">the latency measurement involves a TCP three-way handshake, with</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> the fourth packet providing the end of the process.</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> No TLS, I hope?</span></div></span></blockquote><br class=""></div><div class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div class=""><blockquote type="cite" class=""><span id="docs-internal-guid-7794605f-7fff-f1c9-5ce2-721f23d67acc" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">The latency measurement puzzled me a</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">bit (your tool says 16.6ms, but I get half that when I ping the</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""><a href="http://cloudfront.net" class="">cloudfront.net</a> CDN, which I think is what you're measuring against?),</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">but it does seem to stay fairly constant.</span></div></span></blockquote></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""><span style="font-family: Helvetica; font-size: 12px; white-space: normal;" class=""><br class=""></span></span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class="">I believe TLS handshake time is not included here. I’m using the </font><a href="https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API" class="">Resource Timing API</a> to measure the time-to-first-byte for a request that I’m sending to retrieve a static file. The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API" class="">resource loading phases</a> section of the documentation explicitly shows the different stages for DNS Lookup, TCP connection establishment, etc. I’m using the difference between <b class="">requestStart</b> and <b class="">responseStart </b>values. This value is <a href="https://stackoverflow.com/questions/6533456/time-to-first-byte-with-javascript" class="">deemed to be the same as time-to-first-byte</a> seen in the inspector’s network tab.</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><img apple-inline="yes" id="D555DBBC-495E-4D0D-A61C-8439447BF112" src="cid:3E14CC51-22FC-4879-88F3-6BA9AF94A371@home" class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class="">We’re using </span></font><a href="https://fonts.gstatic.com/l/font?kit=KFOmCnqEu92Fr1Me4GZNCzcPK4I&skey=a0a0114a1dcab3ac&v=v20" class="">this static file</a><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""> that is hosted on a google CDN. </span><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class="">We tried multiple different files, and this one had the lowest latency in both locations that we tested it (I’m in Toronto, and my colleague Sina is in San Francisco).</span></font></div><div class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@Michael Richardson</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-725b771e-7fff-2752-9119-3f1336487f08" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Would webrtc APIs have helped?</span></span></blockquote><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">We took a look at WebRTC and it would be a really good option as it uses udp so we can even measure things like packetloss (<a href="http://packetlosstest.com/" class="">packetlosstest.com</a> does this). However this requires that we host a WebRTC backend, and we’d have to have multiple deployments globally distributed so that the latency values are consistent elsewhere. Between that and fetching a static file backed by google’s CDN, we chose the latter for simplicity. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-abf2cb70-7fff-f024-fcbf-f8333797126b" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Your test does a decent job and comes pretty close, at least</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">in Chromium (about 800 Mbps which is not too far off at the application</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">layer, considering I have a constant 100Mbps flow in the background</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">taking up some of the bandwidth). Firefox seems way off (one test said</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">500Mbps the other >1000).</span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""><span style="font-family: Helvetica; font-size: 12px; white-space: normal;" class=""><br class=""></span></span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class="">The way I’m measuring download is that I make multiple simultaneous requests to cloudflare’s backend requesting 100MB files. Their backend simply returns a file that has “0”s in the body repeated until 100MB of file is generated. Then I use </font><a href="https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams" class="">readable streams</a> to make multiple measurements of (total bytes downloaded, timestamp). Then I fit a line to the measurements collected, and the slope of that line is the calculated bandwidth. For gigabit connections, this download happens very quickly, and it may be the case that not a lot of points are collected, in which case the fitted line is not accurate and one might get overly-huge bandwidths as is the >1000 case in ur Firefox browser. I think this might be fixed if we increase the download time. Currently it’s 5s, maybe changing that to 10-20s would help. I think in general it’d be a good feature to have a "more advanced options” feature that allows the user to adjust some parameters of the connection (such as number of parallel connections, download scenario’s duration, upload scenario’s duration, etc.)</div></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">The reason I do this line-fitting is because I want to get rid of the bandwidth ramp-up time when the download begins. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b class="">Real-time Bandwidth Reporting</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Using readable-streams also allows for instantaneous bandwidth reporting (maybe using average of a moving window) similar to what <a href="http://fast.com/" class="">fast.com</a> or <a href="http://speedtest.net/" class="">speedtest.net</a> do, but I unfortunately am not able to do the same thing with upload, since getting progress on http uploads adds some pre-flight OPTIONS requests which <a href="https://speed.cloudflare.com/" class="">cloudflare’s speedtest backend</a> doesn’t allow those requests. For this test we are directly hitting cloudflare’s backend, you can see this in the network tab: </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Our download is by sending an http GET request to this endpoint: <font face="Menlo, monospace" class=""><span style="font-size: 11px; orphans: 2; white-space: pre-wrap; widows: 2;" class=""><a href="https://speed.cloudflare.com/__down?bytes=100000000" class="">https://speed.cloudflare.com/__down?bytes=100000000</a></span></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">and our upload is done by sending and http POST request to this endpoint: <span style="color: rgb(63, 63, 62); font-family: Menlo, monospace; font-size: 11px; orphans: 2; white-space: pre-wrap; widows: 2;" class=""><a href="https://speed.cloudflare.com/__up" class="">https://speed.cloudflare.com/__up</a></span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Since we are using cloudflare’s backend we are limited by what they allow us to do. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">I did try making my own worker which essentially does the same thing as cloudflare’s speedtest backend (They do have this <a href="https://github.com/cloudflare/worker-speedtest-template" class="">template worker</a> that for the most part does the same thing.) I modified that worker a bit so that it allows http progress on upload for real-time measurements, but we hit another wall with that: we could not saturate gigabit internet connections. Turns out that cloudflare has tiers for the workers and the bundle tier that we are using doesn’t get the most priority in terms of bandwidth, so we could only get up to 600mbps measurements. Their own speed test is hosted on an enterprise tier, which is around $6-7k USD and is way too expensive. We are however, requesting for a demo from them, and it’s an ongoing progress. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">So since we can measure instantaneous download speeds but not upload speeds, we don’t report it for either one. But I can still make the adjustment to report it for download at least. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-5cdda0cf-7fff-8e0a-d391-74eb6e85c788" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">How do you calculate the jitter score? It's not obvious how you get from</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">the percentiles to the jitter.</span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Jitter here is the standard deviation of the latency measurements in each stage. Is this a good definition?</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-0527dad0-7fff-84c9-b8ff-c91a4f0e821d" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">I found it hard to tell whether it was doing anything while the test was</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">running. Most other tests have some kind of very obvious feedback</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">(moving graphs of bandwidth-over-time for cloudflare/dslreports, a</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">honking big number going up and down for <a href="http://fast.com" class="">fast.com</a>), which I was missing</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">here. I would also have liked to a measure of bandwidth over time, it</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">seems a bit suspicious (from a "verify that this is doing something</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">reasonable" PoV) that it just spits out a number at the end without</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">telling me how long it ran, or how it got to that number.</span></div></span></blockquote><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Yeah I think we need to either report real-time bandwidths, or put some sort of animation.</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-357f90db-7fff-9934-d6f1-6d80d7bfb007" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">It wasn't obvious at first either that the header changes from</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">"bufferbloat test" to "your bufferbloat grade" once the test is over I</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">think the stages + result would be better put somewhere else where it's</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">more obvious (the rest of the page grows downwards, so why isn't the</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">result at the "end"?)</span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Good point!</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Y intruder_tkyf at <a href="http://yahoo.fr/" class="">yahoo.fr</a></b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-01928341-7fff-a26f-055e-9db4e7c17c01" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Great job. This is the result of my slow internees. I would like to know the criteria for the grade.</span></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-1ee8fd56-7fff-dfbb-2626-e8cdc08cda17" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Also, what are the shields below the grade supposed to mean? Do they</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">change depending on the result? On which criteria? </span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">They do change! The criteria are listed below. Note that in the criteria below:</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline"><li class="">Latency is calculated as the maximum median of latency across all three stages.</li><li class="">Latency with Jitter is <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">calculated as the maximum of (median + std) across all three stages.</span></li></ul></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b class="">Web Browsing:</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline"><li class=""><b class="">Downlink: </b>> 1mbps</li><li class=""><b class="">Uplink: </b>> 1mbps</li></ul><div class=""><br class=""></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><b class="">Audio Calls</b></font><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">:</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><li class=""><b class="">Downlink: </b>> 3mbps</li><li class=""><b class="">Uplink: </b>> 3mbps</li><li class=""><b class="">Latency: </b>< 150ms</li><li class=""><b class="">Latency with Jitter:</b> < 200ms</li></ul><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><b class="">4K Video Streaming</b></font><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">:</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><li class=""><b class="">Downlink: </b>> 40mbps</li></ul><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><b class="">Video Conferencing</b></font><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">:</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><li class=""><b class="">Downlink: </b>> 2.5mbps</li><li class=""><b class="">Uplink: </b>> 2.5mbps</li><li class=""><b class="">Latency: </b>< 150ms</li><li class=""><b class="">Latency with Jitter:</b> < 200ms</li></ul><div class=""><font color="#000000" class=""><br class=""></font></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><b class="">Online Gaming</b></font><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">:</b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><ul class="MailOutline" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><li class=""><b class="">Downlink: </b>> 3mbps</li><li class=""><b class="">Uplink: </b>> 0.5mbps</li><li class=""><b class="">Latency: </b>< 100ms</li><li class=""><b class="">Latency with Jitter:</b> < 150ms</li></ul></div></div></div></div></div></div></div></div><div class=""><br class=""></div><div class="">For the bufferbloat grade we use <a href="http://www.dslreports.com/faq/17930" class="">the same criteria as DSL reports</a>.</div><div class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></b></div><div class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font></div><div class=""><blockquote type="cite" class=""><span id="docs-internal-guid-1ee8fd56-7fff-dfbb-2626-e8cdc08cda17" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">And it's telling me I </span><span style="color: rgb(0, 0, 0); font-family: Arial; font-size: 11pt; white-space: pre-wrap;" class="">have an A+ grade, so why is there a link to fix my bufferbloat issues?</span></div></span></blockquote><br class=""></div><div class="">We should hide that for A+ grades. 😬</div><div class=""><br class=""></div><blockquote type="cite" class=""><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Less than 5ms (average of down bloat and up bloat) - A+</div><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Less than 30ms - A</div><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Less than 60ms - B</div><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Less than 200ms - C</div><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Less than 400ms - D</div><div style="margin: 0px; padding: 0px; border: 0px; color: rgb(34, 34, 34); font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">400ms+ - F</div></blockquote><br class=""><div class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font> </div><div class=""><blockquote type="cite" class=""><span id="docs-internal-guid-f9d1aba1-7fff-998f-f28e-46e62f73f040" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Smaller nit, I found the up/down arrows in "up saturated" and "down</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">saturated" a bit hard to grasp at first, I think spelling out</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">upload/download would be better. Also not sure I like the "saturated"</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">term in the first place; do people know what that means in a networking</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">context? And can you be sure the network is actually *being* saturated?</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Why is the "before you start" text below the page? Shouldn't it be at</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">the top? And maybe explain *why* this is important?</span></div></span></blockquote></div><div class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""><br class=""></span></div></div><div class="">All amazing points! Thanks! </div></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Toke Høiland-Jørgensen</b></font> </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-149385c0-7fff-2c5b-021e-1517ce00d290" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">As far as the web page itself is concerned, holy cross-domain script</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">deluge, Batman! I'm one of those people who run uMatrix in my regular</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Firefox session, and I disallow all cross-site script loads by default.</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">I had to allow 15(!) different cross-site requests, *and* whitelist a</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">few domains in my ad blocker as well to even get the test to run. Please</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">fix this! I get that you can't completely avoid cross-domain requests</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">due to the nature of the test, but why is a speedtest pulling in scripts</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">from '<a href="http://shopify.com" class="">shopify.com</a>' and three different ad tracking networks?</span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Hahahah this is because we’re using <a href="https://shopify.dev/tutorials/display-data-on-an-online-store-with-an-application-proxy-app-extension" class="">Shopify App Proxies</a>. It’s a technique we use to import assets from our main store, and make it appear such that this is part of our main store whereas in reality it’s a separately-hosted application. This allows us to bring in the header, footer and the chatbot. This is a really good point though, I wonder what we can do with that. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><b class="">Dave Collier-Brown</b></span></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-46689a33-7fff-320e-f529-4f61842efab7" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * Why is unloaded a large number, and loaded a small one?</span></div></span></blockquote><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-46689a33-7fff-320e-f529-4f61842efab7" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * milliseconds sound like delay, so 111.7 ms sounds slower than 0.0 ms</span></div></span></blockquote><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">This is a good point! We measure bufferbloat as the “change” in latency, so the value reported as loaded is “relative” to the unloaded, and not an “absolute” value. In case of a good router with small bufferbloat, this value will always be smaller than the unloaded case. We should probably include a text explaining that. </div><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></b></div>@</b><font color="#000000" class=""><b class="">Dave Collier-Brown</b></font><br class=""><blockquote type="cite" class=""><span id="docs-internal-guid-46689a33-7fff-320e-f529-4f61842efab7" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * Is bloat and latency something bad? The zeroes are in green, does that mean they're good?</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * Is max "bad"? In that case I'd call it "worst" and min "best"</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * Is median the middle or the average? (no kidding, I've been asked that! I'd call it average)</span></div></span></blockquote><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">It’s actually middle, and we meant to report middle since a huge latency spike tends to move the average pretty dramatically in some bad networks. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Dave Collier-Brown</b></font></div><blockquote type="cite" class=""><span id="docs-internal-guid-46689a33-7fff-320e-f529-4f61842efab7" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * Is 25% twenty-five percent of the packets? (I suspect it's a percentile)</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * What does this mean in terms of how many Skype calls I can have happening at my house? I have two kids, a wife and a grandmother, all of whom Skype a lot.</span></div></span></blockquote><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Dave Collier-Brown</b></font><br class=""><blockquote type="cite" class=""><span id="docs-internal-guid-becf930f-7fff-bdc5-16fe-6b95687dd5f6" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Looking at the cool stuff in the banner, it looks like I can browse, do audio calls, video calls (just one, or many?) but not streaming (any or just 4k?) or gaming. Emphasizing that would be instantly understandable by grandma and the kids.</span></div></span></blockquote></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">All very good questions. I think we should try and answer them in the FAQ’s below the test.</div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">@</b><font color="#000000" class=""><b class="">Dave Collier-Brown</b></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span id="docs-internal-guid-6e91c4ef-7fff-dc91-c468-cf341f362c16" class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">DSLReports says</span></div><br class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * 144.7 Mb/s down</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * 14.05 MB/s up</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * bufferbloat A+</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * downloading lag 40-100 ms</span></div><br class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Waveform says:</span></div><br class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * 43.47 Mbps down</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * 16.05 Mbps up</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * bufferbloat grade A+</span></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> * unloaded latency 93.5 ms</span></div><br class=""><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">So we're reporting different speeds and RTTs. Are we using different units or definitions, I wonder?</span></div></span></blockquote><div class=""><div style="caret-color: rgb(0, 0, 0); font-size: 14.666666984558105px; white-space: pre-wrap; line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class="">This is most likely an issue with our test. Do you consistently get low downlink values with our test? maybe increasing the download stage duration will help with this.</font></div><div style="caret-color: rgb(0, 0, 0); line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><font color="#000000" class=""><br class=""></font></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><b class=""><font color="#000000" style="caret-color: rgb(0, 0, 0);" class="">@</font><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class="">Sebastian Moeller</span></font></b></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><blockquote type="cite" class=""><span style="color: rgb(0, 0, 0); font-family: Arial; font-size: 11pt; white-space: pre-wrap;" class=""> [SM] This is a decent starting point. In addition it might be helpful to at least optionally include a test with with bidirectional saturating load, in the past such tests typically were quite successful in detecting bufferbloat sources, that were less obvious in the uni-directional load tests. I am not sure however how well that can work with a browser based test?</span></blockquote><blockquote type="cite"><span id="docs-internal-guid-8b9bac9b-7fff-85ac-464f-640f79b9841f" class=""><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> </span></p><div style="line-height: 1.38; text-indent: 36pt; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">[SM] Mmmh, I like that this is a relevant latency measure, it might make sense though to make sure users realize that this is not the eqivalent number to runing a ICMP eche request against the same endpoint?</span></div></span></blockquote><blockquote type="cite"><span id="docs-internal-guid-8b9bac9b-7fff-85ac-464f-640f79b9841f" class=""><br class=""><div style="line-height: 1.38; text-indent: 36pt; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; vertical-align: baseline; white-space: pre-wrap;" class="">[SM] On heavily bufferbloated links it often takes a considerable amount of time for the bottleneck buffers to drain after a uni-directional test, so it might make sense to separate the two direction test with an additional phase of idle latency measurements. If that latency is like the initial unloaded latency, all is well, but if latency slowly ramps down in that phase you have a smoking gun for bad bufferbloat.</span></div></span></blockquote><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">All very good points! I think having a fixed idle-time between stages 2 and 3 would be good. It appears to me that the ICMP ping values are still very close to the measured latency, however. </div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Thank you everyone for your feedback! </div></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class=""><br class=""></div><div style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" class="">Arshan</div></div></body></html>