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
The web-based tests
Waveform Bufferbloat Test and
Fast.com (click the “Show more info” button)
make accurate measurements of the latency during
the download and upload parts of the test.
This demonstrates the responsiveness of your network.
Share the “letter grade” with your friends. Watch the
Bloat /
No Bloat videos at
Youtube to see the test in action.
Quick: Test for Bufferbloat
If you want to observe latency under load (“bufferbloat”) for yourself,
try this:
- 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 one of the speed test services below
while the pings continue:
- Watch the ping times while the speed test is running. If the times jump
up when uploading or downloading, then your router is probably bloated.
Best: Bufferbloat Tests
The suite of tests we developed to diagnose bufferbloat and other
connectivity problems are good to 40GigE, but require the
Flent RRUL test suite.
Using the Flent tools, it is possible to get a good feel
for how the connection behaves while you tune your settings.
- Apple’s RPM Tool
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 performs the same
kind of download/upload test that is available from speedtest.net.
It is better, though, because it continually measures your ping
latency, and thus lets you know the performance and latency of 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.