[talk] Measuring Internet Speed
Isaac (.ike) Levy
ike at blackskyresearch.net
Tue Mar 27 09:26:48 EDT 2018
On Sun, Mar 25, 2018, at 4:33 PM, Ivan Rambius Ivanov wrote:
> Spectrum / TWC are constantly offering me internet service speed
> upgrades for my home. How can I measure their internet speed and
> compare the old and new services?
IMO, deep network performance testing gets into some existential meditations based on "what is network speed"?
If you have access to a stable second host on the internet with adequate bandwidth for your tests:
netperf (personal go-to)
iperf (awesome features too)
Along with their man pages, there are tons of one-liner how-to's online for these classic tools. Measuring network speed has so many variables, that there are infinite ways to go about this depending on what you're measuring. These tools are purpose-built for testing many aspects of a line.
Depending on the machines you're using to test, simply piping data from /dev/zero to nc or something may run into bottlenecks in your hosts respective TCP buffering, as well as various internal control buffers in programs which may throttle you from various network tools (scp, etc...). While netperf and iperf are designed explicitly not to have such test-influencing bottlenecks, your OS network stack may be tuned in ways which can greatly affect the test- so if you're doing really hardcore line-speed testing, simply prepare to read and flip a *ton* of sysctls, to eliminate variables in testing (changes which will make your internet use from that machine surprisingly unusable on the network :)
Additionally, to *really* test a new line, concurrent connections are a big deal depending on the connectivity technology you have, (DOCSIS/CABLE vs. FIBER vs. ATM/DSL, etc...) - even full-duplex connectivity gets really interestingly weird with some of these link-layer technologies. Tools like netperf and iperf themselves have parallel/concurrency type features, so you can test behavior of how you wish to use your line- (e.g. at home: watching a movie, while someone else in house is scp-ing files, or checking mail, or etc... All this traffic is so different in what constitutes "fast".)
Folks have listed some good online measurment tools already, I'd also say that Google currently has a shockingly good browser-based measurment tool, (as they collect your stats on inet performance...). I stumbled into it when I was curious about internet performance from my phone.
More information about the talk