NetSymptom
Networking Guide

How to Fix Bufferbloat: The Complete 2025 Guide

Your speed test shows 300 Mbps. Your gaming ping looks fine at idle. But the moment someone else on your network starts downloading — your ping jumps to 400ms, your game stutters, and your video call drops. This is bufferbloat, and this guide explains exactly how to diagnose and eliminate it.

What Is Bufferbloat?

Bufferbloat is a networking problem that was formally identified and named by Jim Gettys, a networking engineer, around 2011 — though it had been silently degrading internet quality for years before that. The name combines "buffer" (a temporary storage area for data in transit) and "bloat" (the excessive, unnecessary accumulation of that stored data).

Here is the simple version: your home router has a queue — a waiting line — for data packets that are about to be sent out to the internet. When your connection is under heavy load, more packets arrive at this queue than can be immediately transmitted. Instead of dropping the excess packets (which would signal to TCP to slow down), modern consumer routers simply buffer them — storing them in the queue and sending them later.

The problem is that consumer router manufacturers have equipped their products with extremely large buffers — sometimes holding hundreds of milliseconds worth of packets. This sounds like a good idea: large buffers prevent packet loss. But the consequence is that packets sit in that queue for hundreds of milliseconds before they are transmitted. A gaming packet that should take 8ms to reach a server might spend 350ms waiting in your own router's buffer before it even leaves your house.

This is why bufferbloat causes lag: not because of anything happening on the internet, but because of a queue in the device sitting three feet away from you.

Why Speed Tests Cannot Detect Bufferbloat

Speed tests are designed to measure one thing: raw throughput. They download or upload a large file as fast as possible and report how quickly that transfer completes. This is exactly the scenario in which bufferbloat is least visible.

When a speed test runs, it deliberately fills your connection to 100% capacity. Your router's buffer fills completely — but from the speed test's perspective, this is fine. The test is measuring throughput, not latency. Packets sit in the buffer for 300ms before transmission, but they still arrive eventually, and the throughput measurement remains high.

The speed test also typically measures ping before starting the download phase, while the buffer is empty. So both the ping measurement and the download measurement look healthy. The speed test reports a perfect score while your router is configured in a way that will destroy gaming performance, video call quality, and general browsing responsiveness the moment your connection is under any real load.

This is the fundamental deception of speed tests for diagnosing real-world internet performance: they test conditions that never exist during normal use.

How to Test for Bufferbloat in 2 Minutes

The definitive bufferbloat test is available at waveform.com/tools/bufferbloat. This test measures your latency both at idle and while your connection is under full download and upload load simultaneously — the exact conditions under which bufferbloat manifests.

Interpreting Your Score

If your grade is C, D, or F, your connection speed is irrelevant to gaming and call quality. Fixing bufferbloat will deliver more improvement than upgrading to a faster internet plan.

The Root Cause: Router Buffer Management

Bufferbloat exists because consumer router manufacturers optimise for a different problem than the one you care about. They optimise to prevent packet loss — because lost packets are visible in speed tests and return complaint calls. Large buffers prevent packet loss. So large buffers get shipped in consumer products.

The consequence — that large buffers cause massive latency spikes under load — is harder to measure, harder to explain to customers, and does not show up on the box. So it goes unfixed in most consumer hardware.

The engineering solution is Active Queue Management (AQM): algorithms that intelligently manage the queue by dropping or delaying packets before the buffer fills completely, signalling TCP senders to slow down. This keeps the buffer size — and therefore latency — consistently low even under heavy load.

Fix Method 1: Enable SQM on Your Current Router

Many current-generation routers from ASUS, Netgear Nighthawk, and TP-Link include some form of QoS or traffic management that can reduce bufferbloat without replacing hardware.

ASUS Router (Adaptive QoS)

  1. Open a browser and go to 192.168.1.1
  2. Log in with your router credentials
  3. Navigate to Adaptive QoS → QoS
  4. Enable QoS and set your actual maximum download and upload speeds (run a speed test first and enter 85% of the measured values to leave headroom)
  5. Select Gaming as the priority mode
  6. Save and retest at waveform.com/tools/bufferbloat

Netgear Nighthawk (DynamicQoS)

  1. Access routerlogin.net or 192.168.1.1
  2. Navigate to ADVANCED → Setup → QoS Setup
  3. Enable Upstream QoS and set your actual internet speeds
  4. Prioritise by device or by application type

Fix Method 2: Flash OpenWRT with FQ-CoDel / CAKE

This is the gold-standard fix that eliminates bufferbloat almost completely. OpenWRT is an open-source router operating system that includes SQM (Smart Queue Management) with FQ-CoDel or CAKE algorithms — the state-of-the-art in active queue management.

FQ-CoDel (Flow Queuing Controlled Delay) works by maintaining separate per-flow queues and applying Controlled Delay (CoDel) to each. It identifies flows that are using more than their fair share of the buffer and drops their packets first, keeping overall latency controlled while maintaining throughput.

CAKE (Common Applications Kept Enhanced) is a newer algorithm that builds on FQ-CoDel with additional features: better fairness between flows, per-host fairness (so one device cannot hog bandwidth at the expense of others), and overhead compensation for various DSL/cable encoding schemes.

Compatible Routers for OpenWRT

Enabling SQM on OpenWRT

  1. Install the SQM package: System → Software → Install luci-app-sqm
  2. Navigate to Network → SQM QoS
  3. Select your WAN interface (usually eth0 or wan)
  4. Enable the queue discipline
  5. Set Download speed to 90% of your actual download speed
  6. Set Upload speed to 90% of your actual upload speed
  7. Choose cake as the queueing discipline if available, otherwise fq_codel
  8. Save and apply. Retest immediately.

After enabling SQM with CAKE on OpenWRT, most users go from an F or D grade to an A or A+ on the waveform bufferbloat test. Gaming ping becomes stable even when other household members are downloading simultaneously.

Fix Method 3: Upgrade to a Router with Built-in Bufferbloat Control

If you prefer not to flash custom firmware, several commercial routers now ship with effective bufferbloat control built in:

Why Your Download Speed Does Not Matter for Gaming

Once you understand bufferbloat, you understand why internet plan upgrades often fail to improve gaming performance. Upgrading from 100 Mbps to 500 Mbps does not reduce bufferbloat — it might actually make it slightly worse, because a faster connection fills the buffer faster under load.

Online gaming uses almost no bandwidth. A typical first-person shooter game uses 50–150 Kbps of data — 0.15 Mbps. Even the most demanding game lobbies rarely exceed 500 Kbps. What gaming requires is low, stable latency. A 50 Mbps connection with SQM enabled and A-grade bufferbloat control will outperform a 1 Gbps connection with unchecked bufferbloat for gaming, every single time.

Quick Reference: Bufferbloat Fix Summary

Once bufferbloat is resolved, use the NetSymptom diagnostic tool to identify any remaining causes of slow internet — ISP congestion, DNS latency, or Wi-Fi packet loss may still be contributing to performance issues even after bufferbloat is controlled.

Still experiencing lag after fixing bufferbloat?

Run Free Network Diagnosis →