What Is Bufferbloat and How to Fix It

Published ยท 8 min read

You pay for fast internet. The speed test says you are getting it. And yet the moment someone in the house starts an upload or a cloud backup kicks in, your game rubber-bands, your video call turns robotic, and web pages hang for a second before they load. If that sounds familiar, you are almost certainly dealing with bufferbloat, and it has nothing to do with how much bandwidth you bought.

Bufferbloat is one of the most common and least understood causes of a laggy connection. The good news is that it is measurable in two minutes and, on many setups, fixable in an afternoon. Here is what it is, how to prove you have it, and how to get rid of it.

What Bufferbloat Actually Is

Every router and modem has buffers, small holding areas where packets wait their turn to be sent. Buffers are useful in small doses: they smooth out brief bursts of traffic. The problem is that manufacturers, trying to avoid dropping packets, made these buffers far too big.

When your connection saturates, say a big upload fills the pipe, packets start piling into that oversized buffer instead of being sent or dropped promptly. A time-sensitive packet, like the one telling the game server you just moved, arrives at the buffer and has to wait behind a long queue of bulk upload data. Your latency, normally around 20 milliseconds, balloons to hundreds of milliseconds or even multiple seconds. That is bufferbloat: enormous, self-inflicted delay caused by packets queuing in buffers that are too large.

The traffic-jam analogy: A buffer is like a slip road onto a motorway. A short one lets cars merge smoothly. An enormously long one just means that when the motorway is full, cars sit bumper to bumper on the slip road for ages. Making the road wider (more bandwidth) does not help if everything still has to crawl through that giant queue first.

Why Fast Internet Does Not Fix It

This is the counter-intuitive part. Bufferbloat is a latency problem, not a bandwidth problem, and buying a faster plan can even make it worse. A speed test measures throughput: how much data you can move per second. It does not measure what happens to a small, urgent packet while that data is moving. So you can score 500 Mbps and still have a connection that becomes unusable for anything real-time the instant it gets busy.

That mismatch is why bufferbloat hides so well. The number everyone checks, download speed, looks great, so people blame the game server, their WiFi, or their computer, when the real culprit is a queue in their own modem.

The Symptoms

Bufferbloat shows up specifically when the connection is under load. Watch for:

If your problems are constant rather than load-dependent, you may be looking at packet loss or jitter instead. Bufferbloat is the one that appears only when the pipe is full.

How to Test for Bufferbloat

The test is simple in principle: compare your latency when idle to your latency under full load. If ping stays low, you are fine. If it shoots up during a transfer, you have bufferbloat.

  1. Measure idle ping. With the network quiet, run a continuous ping test to a reliable host and note the typical figure, often 10 to 30 ms.
  2. Saturate the connection. Start a large upload and download at the same time, a big cloud backup plus a speed test works well, so the pipe is genuinely full.
  3. Watch the ping while it is loaded. Keep the ping running. If it climbs from, say, 20 ms to 150, 300, or 800 ms, that increase is your bufferbloat.

A jump of more than about 50 to 100 ms over your idle figure is worth fixing; several hundred milliseconds will be very noticeable in games and calls. Running PingKit's Ping or Connection Monitor alongside a speed test lets you watch the spike happen live and confirm the diagnosis in a couple of minutes.

How to Fix Bufferbloat

The fix is to take the queue away from the ISP equipment, which has the giant unmanaged buffer, and move it into a device you control that can manage it intelligently. That management is called SQM (Smart Queue Management), and it is the heart of the solution.

1. Turn on SQM or QoS

Look in your router settings for SQM, QoS, Adaptive QoS, or sometimes a setting literally named Bufferbloat. Enabling it is what allows the router to keep the queue short instead of letting it balloon.

2. Set your bandwidth limits below your line rate

This is the step people miss, and it is the most important one. Set the upload and download limits in the SQM settings to roughly 85 to 95 percent of your measured speed. That deliberately makes your router, not the ISP modem, the slowest point, so the queue forms where you can manage it. Yes, you give up a sliver of peak throughput; in exchange you get a connection that stays responsive under load.

3. Choose a modern queue algorithm

If your router lets you pick the algorithm, choose CAKE or, failing that, fq_codel. These modern algorithms keep latency low and share the connection fairly between devices far better than the older methods routers shipped with for years.

4. Use hardware that supports it

Not every router can do good SQM. If yours cannot, the common upgrade paths are open-source firmware such as OpenWrt (the gold standard for CAKE), or a router known for effective queue management. If your ISP modem has a huge buffer and no SQM, putting a capable router in front of it and managing the queue there is the standard fix.

5. Retest under load

Run the same idle-versus-loaded ping test again. Done right, your latency should now barely move even during a full-speed transfer, often staying within 10 to 30 ms of idle. That flat line under load is the whole goal.

Worth the trade: Capping your speed slightly feels wrong when you are paying for the full amount, but a connection that holds 25 ms under load beats one that hits 400 ms every time someone uploads a video. For gaming, calls, and a house full of devices, low latency under load matters far more than the last few percent of peak speed.

Bufferbloat, Jitter, and Packet Loss

These three often get lumped together as "lag", but they are distinct problems with distinct fixes. Bufferbloat is delay from oversized queues under load. Jitter is the variation in latency from one packet to the next. Packet loss is data that never arrives at all. Fixing bufferbloat with SQM usually improves jitter too, since a controlled queue delivers packets more evenly. If you game, our guide on what ping and latency mean for gaming ties all of this together.

The Bottom Line

Bufferbloat is the hidden reason a fast connection can still feel terrible under load. It is not fixed by more bandwidth, because it is a latency problem caused by oversized buffers queuing your packets. Prove it with a two-minute idle-versus-loaded ping test, then fix it by enabling Smart Queue Management, capping your bandwidth just below the line rate, and using CAKE or fq_codel. Do that and your ping stays flat even when the whole house is online, which is the difference between internet that is fast on paper and internet that feels fast in practice.

Frequently Asked Questions

What causes bufferbloat?

Oversized buffers in your router or modem. When the connection saturates, packets pile into these buffers instead of being sent promptly, which adds large delay to time-sensitive traffic like games and calls.

Does more bandwidth fix bufferbloat?

No, and it can make it worse. Bufferbloat is a latency problem, not a bandwidth one. A faster plan still queues packets in the same oversized buffers whenever the connection is under load.

How do I test for bufferbloat?

Compare your ping when idle to your ping under full load. Run a continuous ping, then saturate the connection with a simultaneous large upload and download. A jump of more than about 50 to 100 ms is bufferbloat.

Does a better router fix bufferbloat?

It can, if it supports Smart Queue Management with CAKE or fq_codel and you cap the bandwidth just below your line rate. A router without SQM will not fix it on its own.

Is bufferbloat the same as lag?

Bufferbloat is one specific cause of lag: latency that spikes under load. Other causes include packet loss and jitter, which can happen even when the connection is not busy.

Related Articles

See the Latency Spike for Yourself

Run PingKit's Ping and Connection Monitor while you saturate your connection and watch bufferbloat appear in real time, then confirm your fix worked. Free to download.

Download PingKit Free