Bufferbloat is latency that rises while the line is busy, because a router or modem holds more data in its queue than it should. A good idle ping can still lag whenever someone downloads or uploads.
- SystemCheck measures it by timing small round trips on an idle line, then every 200 ms while the line downloads and while it uploads, and grading the larger increase on Waveform's bands: A+ under 5 ms added, A under 30, B under 60, C under 200, D under 400, F at 400 or more.
- Upload is where it usually shows, because the upstream is the narrow side of most home lines.
- Smart Queue Management on the router, often listed under QoS with fq_codel or CAKE, is the fix that targets it.
The short answer
Bufferbloat is the queue in your router filling up. When the line is busy, the router holds packets it cannot send yet, and every game packet and call packet waits behind them. Measure ping with the line idle and again with it full, and the difference is the bloat. Keeping the queue short, usually by limiting the line a little below its speed with Smart Queue Management, removes most of it.
How the test measures it
Ping alone cannot show bufferbloat, because it is taken on an idle line. The test therefore measures three medians: round trips with nothing else running, round trips during five seconds of download over parallel streams, and round trips during five seconds of upload.
During each loaded phase a small round trip is sent every 200 ms, and only those after the first 1 s count, because the connection is not yet full while it ramps up. A phase needs at least 3 loaded round trips for a median. The increase over idle is worked out for each direction, and the worse of the two sets the grade. That is our choice, and the stricter reading.
Reading the grade
The letter follows the milliseconds added under load, on Waveform's bands: A+ under 5 ms added, A under 30, B under 60, C under 200, D under 400, F at 400 or more. Read the added milliseconds before the letter: 25 ms added and 35 ms added are a grade apart and feel much the same, while 25 and 250 are not.
- Bad only on upload: backups, photo sync, cameras and game uploads fill the upstream without anyone noticing.
- Bad only on Wi-Fi: run once on a cable. If the cable grades well, the queue is in the wireless link, not the router's line.
- Bad on both directions and on a cable: the router's queue on the line itself, which is what Smart Queue Management is for.
How to fix it
Turn on Smart Queue Management on the router. It is often found under QoS and uses fq_codel or CAKE; set its limits a little below the speeds the test measured, so the queue forms where the router can manage it. Many routers supplied by providers have no such setting, and a router of your own in front of theirs can add it. Then pause large uploads and backups, keep the device that games or calls on a cable, and run the test again to see the change.
What the test cannot see
The round trips go to this site, so a game server or a call service elsewhere may queue differently along its own path. A queue that fills only under heavier traffic than five seconds each way will not show; run the test while the house is busy to catch it.
Not measured: a loss test needs a relay server at the other end, and we do not run one.
Terms used here
Questions
- Is bufferbloat my provider's fault?
- Usually not. The queue that fills is most often in the home router or modem, on the upload side. The provider's line speed is rarely the cause on its own, though a provider's own router may lack the setting that fixes it.
- Does a faster plan fix bufferbloat?
- Not by itself. A faster line fills more slowly, but a deep queue still adds delay once it is full. Smart Queue Management keeps the queue short at any speed.