Tests for Bufferbloat
Does the quality of your web conference, voice call, or gaming
get bad from time to time?
Do you ever tell others “Don’t use the internet!”
because it might affect what you’re doing?
If so, your router may have “bufferbloat” -
unnecessary latency/lag created by your
router buffering too much data.
The tests below check for the presence of bufferbloat.
If any show high latency (say, above 50 msec,
or a grade lower than “B”),
read our recommendations at
What can I do about Bufferbloat?
Easy: Web-based Tests
These web-based tests demonstrate the responsiveness of your network
by making accurate measurements of the latency during
the download and upload parts of the test.
Quick: Test for Bufferbloat
If you want to observe latency under load (“bufferbloat”) for yourself,
try this:
- In a terminal window, start a ping to google.com.
You’ll see a series of lines,
one per ping, typically with times in the 20-100 msec range.
- Start a speed test from the list above.
They all send/receive traffic to add load to your network.
- Watch the ping times. If the times jump
up when uploading or downloading,
then your router is probably bloated.
Best: Bufferbloat Tests
Flent is a suite of tests we developed to diagnose bufferbloat and other
connectivity problems.
Because Flent has been tested to 40GigE, you can get a good feel
for how the connection behaves while you tune your settings.
In particular, Flent’s RRUL test
shows download and upload speeds and latency in one set of charts.
- Apple’s RPM Test
measures responsiveness directly by
fully loading the network and measuring the number of responses
received in a fixed time.
“Responsiveness” (measured in round-trips per minute - “RPM”)
is a value ranging from around one hundred (poor) to a few thousand (good).
- Flent is a tool designed to make
consistent and repeatable network measurements.
Its suite of tests
log the data, and produce attractive graphs of the results.
Flent’s RRUL test
runs multiple netperf sessions simultaneously to heavily load
the network in both directions.
- netperf
creates traffic through a network and measures its performance.
Various tools, such as betterspeedtest.sh, netperfrunner.sh, and Flent,
rely on netperf, which can be installed in the the OpenWrt firmware.
- betterspeedtest.sh
from OpenWrtScripts bundle
is a script you can run on Linux/OSX or on OpenWrt to get
concrete, repeatable tests of your network.
It is “better” because it continually measures your ping
latency, and thus lets you know the performance and latency for each
direction of data transfer.
- The netperfrunner.sh
script (part of the OpenWrtScripts bundle) simulates the
RRUL Test by creating four simultaneous upload and download streams.
This measures latency during heavy load in both directions.
- The Quick Test (described above) does a rudimentary job of
measuring performance. Although it may not run long enough to avoid
the effects of Powerboost or other special cases implemented by
ISPs, it can definitely point out situations where
you’re “bufferbloated”.
- iperf2 and
iperf3
measure network performance.
Despite the similar names, they are not compatible.
Both are under active development:
check each tool’s website for a comparison of their capabilities.
- fast.com now tests for latency under load
(cick the “Show more info” button.)
Also see their press release.