Live data from Hacker News

Run an Internet Speed Test from the Command Line

putorius.net

41–49 of 49 posts

Re: Run an Internet Speed Test from the Command Line

#41

Note that some ISPs prioritise traffic to known speedtest targets, turning off traffic shaping rules that might otherwise slow bulk transfers. When this happens it means you are testing the likely maximum throughput of your connection not necessarily the throughput you will see more generally. This is why Netflix started fast.com - because it draws data from the same distribution points as their video streaming apps…

My free Google Fiber connection (5 Mbps down) always scored ~100 Mbit speeds at fast.com, but was 5 Mbps on speedtest.net.

https://twitter.com/mholt6/status/999425756198387713

Re: Run an Internet Speed Test from the Command Line

#42
post #22

Run speed test with ssh and pv: $ yes | pv | ssh your_server "cat > /dev/null"

You can also

  pv /dev/zero | ssh your_server "cat > /dev/null"
Both yours and this one check upload speed.

To check download speed:

  ssh your_server 'cat /dev/zero' | pv > /dev/null
or based on your suggestion:

  ssh your_server yes | pv > /dev/null
And if you don't have a server to login to, you can find a big file on the web and use that to check download speed:

  curl -s http://some-place.com/big-file | pv > /dev/null
Though curl also reports speed, so I guess you may as well just:

  curl http://some-place.com/big-file > /dev/null

Re: Run an Internet Speed Test from the Command Line

#43

Surprised no-one has mentioned `iperf` on linux [1,2] for what that is worth. It lets you roll your own speed testing infrastructure basically: Run it as a server on one end you want to test, then run it as client against that server IP/hostname on the other end. It is very handy for measuring throughput between two boxes in a network (or anywhere for that matter). Several big ISPs have endpoints for testing it as we…

Iperf is really useful to test your own LAN. Didn't know you could use it to test your ISP speed (in some cases)

Re: Run an Internet Speed Test from the Command Line

#44
post #41

Note that some ISPs prioritise traffic to known speedtest targets, turning off traffic shaping rules that might otherwise slow bulk transfers. When this happens it means you are testing the likely maximum throughput of your connection not necessarily the throughput you will see more generally. This is why Netflix started fast.com - because it draws data from the same distribution points as their video streaming apps…

My free Google Fiber connection (5 Mbps down) always scored ~100 Mbit speeds at fast.com, but was 5 Mbps on speedtest.net. https://twitter.com/mholt6/status/999425756198387713

So Google Fiber is throttling your connection, as you paid for, but the network connection to netflix is unthrottled. Netflix is also deploying OCA (Open Connect Appliance) servers directly inside most big ISPs - https://openconnect.netflix.com/en/#sample-architectures

Re: Run an Internet Speed Test from the Command Line

#45
post #43

Surprised no-one has mentioned `iperf` on linux [1,2] for what that is worth. It lets you roll your own speed testing infrastructure basically: Run it as a server on one end you want to test, then run it as client against that server IP/hostname on the other end. It is very handy for measuring throughput between two boxes in a network (or anywhere for that matter). Several big ISPs have endpoints for testing it as we…

Iperf is really useful to test your own LAN. Didn't know you could use it to test your ISP speed (in some cases)

Well, you need a endpoint outside your LAN to test. But there are some public servers[0] but not that many so it's hard to get good average speed unless you are willing to pay for some EC2 bandwidth.

[0] https://iperf.fr/iperf-servers.php

Re: Run an Internet Speed Test from the Command Line

#46

Note that some ISPs prioritise traffic to known speedtest targets, turning off traffic shaping rules that might otherwise slow bulk transfers. When this happens it means you are testing the likely maximum throughput of your connection not necessarily the throughput you will see more generally. This is why Netflix started fast.com - because it draws data from the same distribution points as their video streaming apps…

I wrote my own console-based client and server to get around this problem. It uses its own protocol on its own ports and runs on servers that you control.

https://github.com/chrissnell/sparkyfish

Re: Run an Internet Speed Test from the Command Line

#47

speedtest-cli is garbage if you have >100Mbps Speeds. The dev refuses to acknowledge this: https://github.com/sivel/speedtest-cli/issues/226 Also not just me: https://github.com/sivel/speedtest-cli/issues/649 https://github.com/sivel/speedtest-cli/issues/648 https://github.com/sivel/speedtest-cli/issues/641 https://github.com/sivel/speedtest-cli/issues/616 https://github.com/sivel/speedtest-cli/issues/601 https://git…

Closing the issues with an explanation of some sort would be one thing. But closing and locking them without any explanation is very strange. It makes it very difficult for anyone with the same problem to find any sort of explanation.

Re: Run an Internet Speed Test from the Command Line

#48
post #12

Earlier quoted context omitted.

I've been using the wget method for a long time also. I think the only downside is that you need to know what you're fetching and from where. Edit: And for latency, there is /bin/ping

Can't use wget for upload speeds...

While strictly true, if you can download at link capacity it usually means the upstream is okay too.

Re: Run an Internet Speed Test from the Command Line

#49
post #41

Note that some ISPs prioritise traffic to known speedtest targets, turning off traffic shaping rules that might otherwise slow bulk transfers. When this happens it means you are testing the likely maximum throughput of your connection not necessarily the throughput you will see more generally. This is why Netflix started fast.com - because it draws data from the same distribution points as their video streaming apps…

My free Google Fiber connection (5 Mbps down) always scored ~100 Mbit speeds at fast.com, but was 5 Mbps on speedtest.net. https://twitter.com/mholt6/status/999425756198387713

I've seen similar on a 100mbit line that was actually a faster line throttled to that speed, the effect was particularly upstream rather than down. Essentially some content (or more likely content from some locations) is allowed to bypass the throttle.

This might be deliberate but not malicious: through Netflix's Open Connect program ISPs can host a local cache of Netflix content to reduce their peering costs while still offering full service to many concurrent users. If the main throttling effect you are experiencing is applied topologically close to their peering lines such that it would apply to the Open Connect equipment too, rather that the Open Connect kit setting between the throttle point and the peering lines, then to make it useful in the case of new or otherwise not recently accessed data the traffic shaping rules would need to let Netflix traffic (including your speedtests) through relatively unhindered. The path between the Open Connect equipment and your line is unlikely to need throttling because that will be an internal matter with very different cost dynamics than external peering.

Post reply on HN