What Is Bufferbloat and How Does It Affect Your Connection?
You run a speed test. The number is fine. Then you start an upload, or someone in the house joins a video call, and suddenly every web page takes seconds to load, the call jitters, and the game lags. The connection that "tested fine" feels broken — but only when it is being used.
That is bufferbloat. It is one of the most common reasons a connection feels worse than its speed-test result suggests, and unlike most internet problems it is fixable on the customer side, often with no new hardware.
The intuition: queues that are too long
Imagine a single-lane road that funnels into a narrow bridge. The bridge represents your connection's actual upload or download capacity. Cars represent packets of data. Most of the time only a few cars are on the road and the bridge is fine.
Now suppose two trucks (a big upload and a software update) arrive at the same time. The bridge can only let so many cars across per second, so a queue forms. If the queue is reasonable — a few cars long — the trucks pass and everyone is briefly delayed by a second. That is normal.
Now imagine the road has a parking lot at the end, and rather than reject extra cars, it lets thousands of cars queue in the lot waiting their turn at the bridge. The trucks still get through eventually, but a small car (a tiny packet from a video call or a game) that arrives mid-traffic-jam now has to wait behind the entire backlog. It does not get dropped, it does not get a "try later" — it just sits in the queue for a long time.
That is bufferbloat in one paragraph: queues sized so generously that they hide congestion from the protocols that need to know about it, and small, time-sensitive packets get stuck behind big bulk transfers.
Why it exists
Memory got cheap. Router and modem manufacturers added very large buffers to absorb bursts of traffic, on the reasonable-sounding theory that "more buffer is better than dropping packets". The problem is that TCP, the protocol responsible for most internet traffic, uses packet drops as its main signal to slow down. When buffers are huge, packets do not get dropped quickly enough; TCP keeps pushing more data into the queue, the queue keeps growing, latency for every connection sharing that queue keeps growing — and only when the buffer finally fills up does TCP get the message and back off.
Result: under load, your latency to anywhere on the internet can rise from 15 ms to several hundred milliseconds, even though the line itself is moving plenty of bytes.
How bufferbloat shows up
- The connection feels fine when nothing is happening and feels broken when someone uploads a file or starts a video call.
- Web pages take a long time to load while a single download or upload is running, even if the download is far below your line speed.
- Voice and video calls degrade mid-call when a backup or sync starts.
- Online games stutter or rubber-band when other devices on the network start using bandwidth.
- Latency under load is many times your idle latency. Idle 15 ms, under-load 250 ms is a textbook bufferbloat signature.
An ordinary speed test does not see this clearly because it measures latency before the bandwidth tests, when the line is idle. To see bufferbloat you have to measure latency during a sustained download or upload.
How to detect it
Two practical methods:
Method 1: the household stress test
Open a continuous-ping window to a nearby host (e.g. ping 1.1.1.1 on most operating systems). With nothing else happening, note the typical ping. Now start a large upload or a heavy download in another tab — say, a cloud-storage sync of a few gigabytes. Watch the ping window. If the numbers jump from 15 ms to 200+ ms, your connection has bufferbloat.
Method 2: a test that stresses the line on purpose
Some specialised tools, including the open-source Waveform bufferbloat test and the test built into DSLReports, deliberately saturate your connection in both directions while measuring latency. They report a grade — typically "A" through "F" — based on how much latency rises under load. A normal speed test does not do this, which is why you can see "great" download numbers and still have a connection that feels slow during real use.
For the same reason, see the related explanation in why speed test results vary — bufferbloat is one of the failure modes that a normal test cannot show.
Worked example
A reader on a 300/30 Mbps cable line says video calls keep freezing whenever their partner backs up photos to the cloud. Speed test shows 280/27 Mbps with a 14 ms ping. Looks fine.
The real diagnostic:
- Idle ping to a nearby server: 14 ms.
- Ping during a sustained upload: 320 ms.
That is a 20× rise in latency. A video call cannot survive that and stay smooth. The download number on the speed test is fine; the speed test simply did not measure the failure mode that this user is hitting every evening.
The fix in their case: enable Smart Queue Management on the router (described below). Result: ping under upload load drops to ~30 ms, video calls stop freezing, and the headline speed test still reports 270/27 Mbps. The bandwidth was never the problem.
What to do about it
Bufferbloat is a routing problem, not a bandwidth problem. The fixes target queues, not throughput.
1. Enable Smart Queue Management (SQM) on your router
SQM is a family of algorithms — fq_codel, CAKE, and others — that actively manage how packets queue inside your router. They keep the queue short and share the bandwidth fairly between connections, which prevents a single bulk upload from starving the small interactive packets.
Many modern routers, especially those running OpenWrt or vendor stacks that expose "Smart Queues" or "Adaptive QoS", support SQM. To enable it, you usually have to set the upload and download speeds slightly below your real line speed (e.g. 90% of measured) so the router, not the modem, is the bottleneck — that is what gives the algorithm its handle on the queue.
2. Replace a router that cannot do better
If your existing router/modem combo has no SQM option, the practical fix is a router that does. A wide range of consumer routers in the $100–$200 range now expose CAKE or equivalent. Putting a capable router in front of an ISP-supplied modem (with the modem in bridge mode) usually works.
3. Reduce upstream pressure as a workaround
If a hardware change is not possible right now, you can mitigate the symptom by avoiding sustained upload during interactive use:
- Pause cloud-backup services during work hours and video calls.
- Limit upload bandwidth in apps that allow it (BitTorrent clients, sync tools).
- Schedule large uploads overnight.
This does not fix bufferbloat, it just avoids triggering it.
4. Reach out to your ISP
If the bufferbloat appears to be in the ISP's equipment (which can happen on some cable and DSL deployments), contacting support and using the words "high latency under load, possibly bufferbloat" is more productive than "the internet is slow". Ask whether the modem can be replaced with a current model, and whether they have a recommended router model that handles queueing well.
Common mistakes
- Buying a faster plan to fix it. Bufferbloat does not get better with more bandwidth — it often gets worse, because the bigger pipe at the edge feeds an even bigger queue.
- Blaming Wi-Fi. Wi-Fi has its own problems but bufferbloat appears on wired links too. Test wired before assuming Wi-Fi is the cause.
- Trusting the speed test result alone. The headline number is a still photograph; bufferbloat is a video.
- Confusing bufferbloat with congestion at the ISP. Cable evening congestion lowers throughput across the board; bufferbloat raises latency only when the line is in active use.
How bufferbloat fits with the rest of your connection
Most of what makes a connection feel fast or slow is the boring stuff: the line type (see fiber vs cable vs DSL), the headline speed of the plan (see what is a good internet speed?), and the basic optimisations like router placement and Wi-Fi setup.
Bufferbloat is the exception — a hidden, intermittent failure mode that a normal speed test will tell you nothing about. If your line tests well but your connection feels worse than the numbers suggest, it is the first thing to check.
In short
Bufferbloat is large, unmanaged queues delaying small interactive packets behind big bulk transfers. Symptoms: latency that spikes whenever the line is in use, even though the speed test looks fine. Diagnosis: ping under load. Fix: Smart Queue Management on the router, or a router that supports it.
Bandwidth is how much can flow; latency under load is how the connection feels in practice. They are not the same number, and the speed test only sees one of them clearly. If you have read this far and recognised your own connection, the fix is closer than you think — and it does not involve calling the ISP.
← Back to Articles