Bufferbloat
Bufferbloat
Excessive latency caused by your router queueing too many packets — the hidden cause of lag during downloads.
Bufferbloat is a condition where your router or modem holds large queues of packets waiting to be sent, causing latency to spike to hundreds of milliseconds during periods of high traffic. The symptom: your speed test looks fine, but the moment someone starts a large download, video calls freeze and gaming becomes unplayable.
Why bufferbloat happens
Routers buffer packets to prevent loss during bursts. The problem is that most consumer routers — and especially ISP-supplied gateways — ship with buffers that are vastly oversized relative to the link speed. A router connected to a 100 Mbps cable line might hold enough buffered data to saturate that line for several hundred milliseconds. Every real-time packet (a gaming UDP datagram, a VoIP frame, a video-call chunk) must wait at the back of that queue behind bulk download traffic. The wait time appears directly as added latency.
The issue is made worse by TCP's congestion-control behaviour. TCP actively tries to fill the available pipe by increasing its send window until it detects loss. On a connection with an oversized buffer, loss is never triggered — the buffer absorbs everything — so TCP sends ever more data, permanently inflating the queue. The result is that your download speed looks excellent while every other application on the network suffers.
Download saturation and ping spikes
The clearest demonstration of bufferbloat: start a large file download and simultaneously ping your router or a nearby server. On a router without queue management, idle ping of 5–10 ms balloons to 200–500 ms the instant the download saturates the link. When the download finishes, ping returns to normal immediately. This idle-vs-loaded latency gap is the defining signature of bufferbloat.
How to test for bufferbloat
Three tools make testing straightforward:
- Waveform Bufferbloat Test (waveform.com/tools/bufferbloat) — runs a download and upload while measuring latency under load; gives an A–F grade
- DSLReports Speed Test — grades bufferbloat alongside speed; long-established reference tool
- Manual ping-while-downloading — open a terminal and run
ping 8.8.8.8while downloading a large file; watch the round-trip time climb
Bufferbloat grades map roughly to loaded latency increase: A (<5 ms added), B (5–30 ms), C (30–60 ms), D (60–200 ms), F (>200 ms). Grades C and below are noticeable during video calls; D and F render gaming and VoIP unreliable.
fq_codel and CAKE: the real fixes
fq_codel (Fair Queuing Controlled Delay) is an active queue management algorithm that maintains multiple small queues — one per flow — and drops or marks packets when the queue delay exceeds a target (typically 5 ms). Because it operates per-flow, a single bulk download cannot monopolise the queue and starve real-time traffic.
CAKE (Common Applications Kept Enhanced) is a newer algorithm that builds on fq_codel, adding better diffserv handling, simpler configuration, and superior performance at low bandwidths. For home users, CAKE with SQM is currently the best available solution.
Enabling SQM/CAKE on your router
The most reliable path is OpenWrt firmware on supported hardware. In OpenWrt: install the luci-app-sqm package, navigate to Network → SQM QoS, set your interface (usually eth0 or wan), enter your line speed (set to 85–95% of your measured speed to leave headroom), select the CAKE + piece_of_cake script, and enable. Reboot and retest — bufferbloat grades typically jump from D/F to A/B immediately.
Some consumer routers offer built-in SQM or QoS without custom firmware. ASUS routers with Adaptive QoS, Netgear Nighthawk routers with DumaOS, and pfSense/OPNsense firewalls all support fq_codel or CAKE natively. The configuration varies by firmware but the principle is identical: set the interface, set the bandwidth, enable the queue discipline.
Why ISP-supplied equipment is worst
ISP gateways are designed to minimise support calls, not to minimise latency. They typically run heavily customised firmware that disables or hides advanced QoS options, have underpowered CPUs that cannot run per-flow queue management at line rate, and use buffer sizes tuned for throughput benchmarks rather than real-world responsiveness. Replacing the ISP gateway — or at minimum putting it in bridge mode and adding a capable router behind it — is the single most effective hardware change for households with bufferbloat problems.
Frequently Asked Questions
Why does my internet lag when someone else downloads?
This is classic bufferbloat. Your router is queueing the download packets, and real-time traffic (gaming, calls) waits in the same queue. Enable QoS on your router to prioritise real-time traffic over bulk downloads.
Does a faster internet plan fix bufferbloat?
No. Bufferbloat is a router problem, not a bandwidth problem. A faster plan gives the router more packets to queue, which can make bufferbloat worse. The fix is SQM/QoS in the router firmware, not a plan upgrade.