SPEEDTEST Subjective and Variable Factors
The complex interaction of applications, host systems, protocols, network servers, switches, routers and transmission elements is, at best, only mildly understood.
Below is a list of factors that would impact the integrity of the results you would obtain with a generic online speed test:
- Bandwidth Delay Product (BDP) creates a situation where high latency paths yield a lower bandwidth throughput result. This is a physical limitation in the fundamental design of the TCP/IP protocol. This means that when running speed tests against speed test servers located very far away from you (over 100ms), the ultimate bandwidth throughput result you will see will be vastly different from speed tests you will run against servers located physically closer to you (between 1ms - 50ms).
- When running speed tests against random speed test servers, it is not possible to guarantee the quality of the network to which those speed test servers are connected, e.g., what port speed are they running at, how much bandwidth has been allocated to that port, how much free bandwidth is available for use on that port, e.t.c.
- When running speed tests against random speed test servers, it is not possible to guarantee the raw performance level of the speed tests servers, e.g., how many CPU cores do they have, how busy or idle are those CPU cores, how much free memory is available on those servers, how fast are the hard drives on those servers, what is the quality of the network interface controller, e.t.c.
- When running speed tests against random speed test servers, what operating system is installed on the server, and is its kernel and TCP/IP stack optimized for speed tests? Speed test results may vary depending on whether the server is running Windows or UNIX-/Linux-based systems, not to mention the version of the operating system in question, if it has been patched to latest update revision, if it has been modified to specifically handle speed tests, whether the operating system is running on bare metal or a virtual machine, e.t.c.
- When running speed tests against random speed test servers, what version of the speed test software is running on the speed test server, and has it been optimized for high throughput tests? Older versions of the speed test software may not always perform as well as more current versions. However, it is impossible to know whether the speed test server is running a current, optimized version of the speed test software, or not.
- When running speed tests against random speed test servers, it is not possible to ascertain how many speed tests are already taking place while you perform your own speed tests. The more active speed tests there are simultaneously, the lower the ultimate bandwidth throughput each speed test will achieve, as all ongoing tests have to contend for limited server and network resources.
- It may not be immediately apparent whether the speed test server against which you are running a speed test is hosted inside your service provider's network, or if it is hosted in a different network which your service provider has no control over. Speed test servers running in a network not under the control of your service provider may not be reliable, as a service provider cannot guarantee the quality or state of a network they do not control.