We all know what a speedtest is and what it is for, but few know how it works. And it is a crucial detail to understand if we can trust its results.
A good connection to the Internet in pure optical fiber today offers a theoretical maximum speed of 1000 megabits per second (Mb/s), that is 1 gigabit per second (Gb/s) or, bringing it back to the unit of measurement we are more “used to”, 125 megabytes per second (MB/s).
The calculation is easily done, since one Byte (indicated with “B”) corresponds to 8 bits (indicated with “b”). But that doesn’t mean it will take you 8 seconds to send a gigabyte-sized file. The totality of connections, in fact, never constantly reaches the declared maximum speed and the reason is not always to be found in a poor quality of the connection, or in some subterfuge of your Internet Service Provider .
The factors to be taken into consideration when evaluating the quality of an Internet connection are in fact many and, certainly, it is not enough that the connection ” seems ” slow because, in reality, very often the problem is not slowness but high latency. .
In any case, however, it is possible to measure the performance of a connection agreement through the so-called speedtests , the speed tests for Internet lines that offer us a numerical value in megabytes per second (MBps) that we can compare to the theoretical maximum declared by the ISP in the contract.
But, before making any comparison, you need to understand how a speedtest works and if, how much and under what conditions it is really reliable.
How Do Internet Speed Tests Work
When you run a speed test of your internet connection the first thing the speedtest does is determine the location of the test server closest to you . Since the latency of an Internet connection, i.e. the time that passes between when we send a request for data and when we start to receive it, also directly depends on the distance of the server it is clear that the speedtest searches for the nearest server .
This distance is calculated in terms of the number of network nodes (more or less the “network segments”) to cross to reach the server , which often, but not always, also corresponds to the physical distance between us and theserver . This way the result should be more realistic.
Once connected to the server, the speedtest sends a simple signal ( ping ) to the server , which responds by sending back a signal of successful reception. The test measures the response time in milliseconds and that is latency.
At the end of the ping, the data download test begins: the client (the browser on our computer) opens multiple connections to the server and tries to download a small portion of data (a few tens of megabytes, usually, but this value adapts and also depends on the speed of the network).
At this point, two things are measured: the time taken to acquire a piece of data and the amount of network resources used. If the client detects that more connection space is available on the server , it opens multiple connections and downloads more data at the same time.
The basic idea is to try to saturate the connection, passing as much data as possible at the same time . Once the speedtest has launched the necessary connections to test the internet service, it downloads additional blocks of data, measures the amount downloaded in the allotted time, and translates this into a download speed (i.e. the speed of receiving data from the network).
The next test is the upload test , which is basically the same test but with sending data instead of receiving. The procedure is therefore identical, as is the method used by the speedtest to calculate the upload speed of the connection (ie the speed at which data is sent over the network).
Are the Internet speed tests accurate?
In two words: not always. And the problem is, we have no way of knowing when they are and when they are not. Already the choice of the server to use for the test is a factor that could lead to a distortion of the result: it is true that latency increases with distance , but it is equally true that if a server is very busy (it receives many simultaneous connection requests ) latency increases however.
Sometimes a server farther away, but less saturated, responds first , rather than a closer, but overburdened with requests.
But, even in the best case scenario (test server close and very free), the result of the speedtest does not necessarily reflect the real online browsing .
Because in real everyday browsing we almost never connect to servers that are very close, very fast and very available: on the contrary, very often the data comes from the other side of the world and is conveyed by servers that take a long time to answer.
Not only that: in the test scenario as many connections as possible are opened with the server , but in real navigation it is not at all certain that this is feasible.
Either because the server to which we connect does not open further connections (for example because it is already close to its maximum capacity), or because other applications are already running on our device that “steal” data bandwidth by downloading data from the network.
Finally, the last factor should be considered: if we run the speed test while we are connected to the home modem router via Wi-Fi, the data is not reliable at all and will certainly be lower than what we will get by connecting to the router via Ethernet cable.
This is because the Wi-Fi connection (at least up to the Wi-Fi 5 standard, 802.11ac) has a real maximum speed even significantly lower than that of a direct cable connection. And, above all, because it only takes two walls between the device and the Wi-Fi router to bring down the speed of the connection.
How to interpret internet speed tests?
All this means that the speedtest do not need? No, on the contrary, they are needed but must be used wisely.
Before judging an Internet connection based on a speedtest we should in fact perform the speedtest as accurately as possible: by connecting the computer to the router via cable and not via radio , trying (if the speedtest allows it) to connect to different test servers, running the test at different times of the day and, above all, trying multiple different speedtests.
If in each test condition we have consistently lower results than our ISP declared, then our connection probably has a problem. Otherwise at least one of the above factors may have distorted the test result.