Speedtest.net the preeminent source for internet speed tests. There are a few things you can do to measure the speed of your internet connection but Speedtest.net is unprecedented in both its assessment and popularity.
With over 5 million daily tests from over 2,500 global servers, the SpeedTest site has become a trusted source for gauging your average download and upload speeds.
Furthermore, according to a whitepaper compiled by MIT researchers Steve Bauer, David Clark and William Lehr, Speedtest.net is a very reliable test of internet speeds.
On page 3 of the 45 page report, the researchers made this definitive statement:
We concluded however that the Ookla/Speedtest approach – which typically results in higher measured data rates than the other approaches reviewed – was the best of the currently available data sources for assessing the speed of ISP’s broadband access service. One of the key differences that accounts for this is that the Ookla/Speedtest tools utilize multiple TCP connections to collect the measurement data which is key to avoiding the receive window limitation
This may sound like an opaque explanation and admittedly it’s a little abstruse but I want you guys to get what’s going on here.
In order to understand it you need to know a little bit about TCP connections and how it keeps networks from getting congested.
First some geeky stuff
TCP (Transmission Control Protocol) is a reliable data transmission protocol which means it guarantees the delivery of data.
When you initiate a speed test at Speedtest.net, TCP get’s to work and breaks the data stream into little pieces called segments.
It also numbers each segment so that they can be reassembled when the arrive at the destination.
Segments rarely take a deterministic path through the internet; in other words, some will past through network equipment in your city others will zip through routers in an adjacent town and so on… so by numbering each segment TCP can put together your data stream at the destination.
This is called sequencing.
In addition to sequencing segments, TCP requires the destination computer to explicitly acknowledge the segments it receives. This is so the source machine (in this example, your computer) knows that Speedtest.net actually received the segments. If you don’t get an acknowledgement then you know a segment was lost or corrupted and therefore needs to be resent.
This combination of sequencing and acknowledging segments is what makes TCP reliable.
But here’s the thing, stay with me here, if TCP acknowledged every single segment then networks would come to a grinding halt because they would be inundated with acknowledgements!
So TCP is smarter than that and it dynamically adjusts the amount of unacknowledged bytes being sent based on the vicissitudes of the network. The number of unacknowledged bytes fluctuates with the network traffic.
Here’s an example: let’s say your computer starts the connection by sending 3 1KB segments to Speedtest.net. Then Speedtest.net replies with an acknowledgement announcing the next segment it expects, for example a segment with sequence number 4000.
Your computer muses to itself:
Hey, I just sent 3 1 kilobyte segments to Speedtest.net and Speedtest.net replied with sequence number 4000; that means Speedtest.net successfully received my 3 1 kilobyte segments and is now expecting segment number 4000. Network conditions must be good so instead of merely sending 3 1 kilobyte segments I’ll bump it up to 4
Your computer keeps bumping the number of unacknowledged bytes until it starts getting errors. As errors pick up, TCP shrinks the window of unacknowledged bytes. The whole goal of this flow control system is to minimize the acknowledgments and therefore improve network throughput.
So the MIT whitepaper is saying that Speedtest.net is unique because it doesn’t depend on a single TCP connection. It actually corrals multiple connections which means the data rates are more accurate.
Finding the fastest ISPs
In July of 2010, the makers of Speedtest, Ookla, launched a free online index that amassed the voluminous results of Speedtest.net into one searchable, sortable, database.
It’s called Net Index and it’s pretty cool.
The site lets you view the top 10 countries, cities and states with the highest throughputs.
To get started, visit the Net Index homepage and click Go to my location under the DOWNLOAD INDEX button in the upper left corner of the browser window. In Chrome, it turns into a loading, please wait animated wheel.
Your browser might warn you that www.netindex.com wants to use your computer’s location. Click Allow.
On the next page you’ll see a bunch of stuff.
The big blue number on the right in the download index assigned to your region.
If you scroll down the page you’ll see the top ISP’s of your area based on average speeds. You can also mouse over the little “i” immediately to the right of the ISP name to get stats on the number of IP addresses used in the calculation.
The little star ratings below each ISP name are based on the opinions of millions of people who have told Speedtest.net how satisfied or dissatisfied they are with their ISPs.
Think of it like Amazon.com reviews without the text reviews; just the rating is shown.
The Bottom Line
The next time you’re thinking about moving into a new city check out the Net Index report for the ISPs in that region. It could save you loads of frustration later when you’re trying to use the internet at home.