Speedtest & BBR, consistency

I’ve written a lot in the past about how speedtest is not a reliable tool. There is simply too much variation. Its also measuring all of your access, your ISP’s core, and the interconnection, and the server on the far side. All too frequently I hear of some ‘study’ where some new ‘speedtest’ tool is rushed out there, and conclusions drawn based on few data points.

Today I saw a post on reddit which essentially said:

If you ‘echo bbr > /proc/sys/net/ipv4/tcp_congestion_control’ your speed goes up!

and then this was demonstrated with a single run (using speedtest-cli) for ‘cubic’ and for ‘bbr’. And the results were different.

Well, a few things. First, bbr affects the ‘sender’. So it would only affect your upload speed, not download. Second, by using two different servers, there is a ton of difference just there in peering, server setup, etc. Also, speedtest-cli is very inaccurate, even more so than the web interface.

So lets give it a try. My results, with bbr (for a single run), are shown in the image above. ~906Mbps down, ~33Mbps up.

Lets run this a few times, using the web/html5 interface. This allows me to force the server to be the same on each run.

Run#congestion-controlDown-RateUp-Rate
1bbr905.9132.84
2bbr902.9833.84
3bbr873.6836.52
4cubic905.9635.22
5cubic905.6238.08
6cubic909.0236.17

Now lets try w/ the speedtest-cli and let it select the server. We see huge variation.

So what does this say? Is bbr useless? Of course not, its great. When there is congestion, and you are the server (sending more data than receiving) its simply more efficient and better. But, for making your speedtest go faster on your home connection? Its just not correlated.

root@office:~# echo bbr > /proc/sys/net/ipv4/tcp_congestion_control
root@office:~# speedtest-cli 
Retrieving speedtest.net configuration...
Testing from Rogers Cable (173.32.145.XX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Standard Broadband (Milton, ON) [51.74 km]: 19.384 ms
Testing download speed................................................................................
Download: 515.50 Mbit/s
Testing upload speed......................................................................................................
Upload: 31.76 Mbit/s
root@office:~# speedtest-cli 
Retrieving speedtest.net configuration...
Testing from Rogers Cable (173.32.145.XX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Standard Broadband (Milton, ON) [51.74 km]: 16.696 ms
Testing download speed................................................................................
Download: 718.51 Mbit/s
Testing upload speed......................................................................................................
Upload: 32.09 Mbit/s
root@office:~# speedtest-cli 
Retrieving speedtest.net configuration...
Testing from Rogers Cable (173.32.145.XX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TriCity WiFi Corp. (Kitchener, ON) [4.61 km]: 18.747 ms
Testing download speed................................................................................
Download: 454.49 Mbit/s
Testing upload speed......................................................................................................
Upload: 36.69 Mbit/s


Posted

in

by

Tags:

Comments

2 Responses to “Speedtest & BBR, consistency”

  1. Mustafa

    Hi Don,

    Need your help to improve our Speedtest server. Kindly get in touch.

  2. Anonymous

    Like!! Really appreciate you sharing this blog post.Really thank you! Keep writing.

Leave a Reply

Your email address will not be published. Required fields are marked *