As I noticed some ISPs return considerably quicker speed tests with Ookla's speed than what's possible with regular web access including TestMy, I decided to snoop at how Speed test establishes its connection using Sysinternals' TCPView utility. I sorted the traffic by 'Received Bytes' and then started a speed test.
While the multiple connections doesn't surprise me (Ookla's tests are all multi-threaded), what I was surprised with was what port it used - 8080:
It seemed like no matter what test server I tried, it ran its test over port 8080, which is a seldom used port for web traffic. For example, HTTP and HTTPS traffic are carried over ports 80 and 443, respectively, while FTP traffic is carried over ports 20 and 21. Port 8080 is typically used for an internal web proxy within corporate networks and for an ISP cache proxy in the early days of Internet for faster access to popular websites.
On the other hand, by running the speed tests over port 8080, this makes it easy for ISPs to prioritise traffic for anyone using Ookla's speed test as all they have to do is give elevated QoS for traffic running over port 8080.
I then thought - Is port 8080 necessary for Ookla's Speedtest? To find out, I blocked port 8080 on my PC.
The speed test took a little longer to start, but once it did, it switched over to port 80, in this case with two threads:
Once I open up port 8080 and click 'Test Again', the next test runs on port 8080 again.
So an interesting idea would be if TestMy could add support for port 8080. I don't think it will require much configuration other than configuring the various test servers to also accept traffic on port 8080. Then it would just be a matter of typing testmy.net:8080 to perform the test on port 8080 with suspect ISPs, such as those that seem to throttle ports 80 (HTTP) and 443 (HTTPS).