[talk] Measuring Internet Speed

Charles Sprickman spork at bway.net
Tue Mar 27 13:20:18 EDT 2018

> On Mar 27, 2018, at 9:26 AM, Isaac (.ike) Levy <ike at blackskyresearch.net> wrote:
> On Sun, Mar 25, 2018, at 4:33 PM, Ivan Rambius Ivanov wrote:
>> Hello,
>> 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?
>> Regards
>> Ivan
> 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 :)

You can also find iperf in really weird places.  Lots of embedded devices already have it (for example, all Ubiquiti airmax gear has an iperf binary installed).  I even found an ethernet switch recently that had iperf available.  It lurks in some strange places.  Be aware of the iperf2/iperf3 incompatibility - they don’t talk to each other.

Also if you’re using browser-based tests, you really have to cycle through the list of servers if you’re trying to measure beyond 100Mb/s or so.  When I got FiOS Gig service at home it became really clear most test sites simply don’t have the bandwidth - even sites that were well-peered with UUNet/VZ would sometimes run out of juice beyond a few hundred Mb/s.  You can tell they’re shuffling you off to a hosting facility with a very asymmetric usage pattern when you see something like 200 down, 900 up. :)

For web-based you can also host your own - this one is not perfect, but it does not require flash or java:

https://github.com/adolfintel/speedtest <https://github.com/adolfintel/speedtest>
> 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”.)

Funny thing, when I upgraded at home, I just turned all QoS off.  FiOS seems pretty legit as far as being able to saturate the link (at least out here, I suspect NYC is a different story).  Pulling 32 streams of usenet “news” at 80MB/s is the norm, and that’s without really trying any tweaking or trying to get two providers pulling simulataneously. But at 1Gb/s I cannot find much that will impact ssh sessions or voip.  When it goes out and I fall back to 3.0/768 DSL, wowzers…

I’ll also state the obvious - at high speeds, users really tend to test over their local wifi network and then freak out when they don’t see line speed (“my AP looks like a spaceship and says GIGABIT on it! Why is the internet slow!”).


> --
> 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.
> Best,
> .ike
> _______________________________________________
> talk mailing list
> talk at lists.nycbug.org
> http://lists.nycbug.org/mailman/listinfo/talk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nycbug.org/pipermail/talk/attachments/20180327/e8d20e21/attachment.html>

More information about the talk mailing list