Why the discrepancy between Speedtest and Wget?
ISPs often prioritize traffic to speedtest.net so that they can brag how fast their connections are, while in reality, they don't provide that much bandwidth. They're perfectly aware that most users will only check that site for confirmation.
You also have to keep in mind that transfer speed relies both on the client and the server. In today's world most servers throttle in one way or another.
Finally, it's pointless to expect stable bandwidth for overseas connections. There's just no such thing. It has to go through an infinite number of switches, fibers, datacenters to reach the final location. And all it takes is just one moving part to slow down.
In addition to the other reasons posted, TCP connections don't work well with large files when the bandwidth-delay product becomes large.
Like on an otherwise fast connection to an island.
See Wikipedia's entry on TCP tuning.
So Speedtest can dump a small file through the connection at 95 mb/sec, but
wget can only get 10 mb/sec on a 20 MB file.
wget give good practical measure of the speed. The tests of Speedtest probably include kind of parallelism which can explain higher numbers.
For good average speed test I think the time for download should be at least 90-120 seconds (to get good average)
One reason could be that often the maximum speed cannot be reached by just a single TCP connection.
Speedtest.net recently introduced a single connection mode. Try this and see if it makes a difference.
Then, for the download use for example aria2 with parameters to use multiple conections and compare.
aria2c -d /dev -o null --allow-overwrite=true --file-allocation=none --max-connection-per-server=8 --min-split-size=1M http://aserv.example.net/~myuser/links/M77232917.txt
Use Fast.com Internet Speed Test, this is a Netflix based speed test meaning it cannot be differentiated by ISPs from Netflix itself.
This is a more accurate test than any other test generally. People won't be worried about how fast a web page loads, but rather how quickly the videos buffer due to the increased bandwidth necessary to display a video.
ISPs often boost speeds based on the domain someone is connecting to if it's a speed test or using port 8080. Whereas Netflix uses port 80, a slower port when it is being prioritized.
- Internet providers caught inflating speed test results - Myce.com
- Ookla Accuses UK Broadband ISP of Manipulating its Internet Speedtests - ISPreview UK