Bufferbloat: Fix Your Slow Network
Bufferbloat is a pain. It’s not just a pain because it wreaks havoc with your network performance. It’s not easy to diagnose. Tools like Flent help, but in general, Bufferbloat looks like slow connections and massive latency. That doesn’t necessarily mean that those things are caused by bufferbloat, though.
Bufferbloat is actually the result of your router doing it’s job, but being overloaded. Routers need to manage the flow of traffic and negotiate which packets get priority. This scheduling system buffers packets to queue them up to transfer when their target device is ready and that device has reached its place in the distribution order. If that schedule buffers too much, it will bog down and cause a spike in latency and impact the overall transfer rate. That is bufferbloat, literally a bloated packet buffer.
Why Is It A Problem?
It slows down your connection. Actually, it creates interruptions in your connection. These interruptions are especially noticeable and disruptive in more intensive activities like VOIP, streaming video, and online gaming. So, if you’re an online gamer or you love Netflix, bufferbloat will ruin your day.
Test For Bufferbloat
Testing for bufferbloat isn’t always super clear, but there are some things that you can do. First, a simple ping test during a period of network stress could help indicate if you are experiencing high latency. Ping a computer across your network and see how much your latency has increased from usual. A sharp increase, or better, inconsistent spikes in latency could be an indicator.
Next, you can check out the DSLReports speed test. It actually tests for bufferbloat, and it can give you a fairly accurate assessment of your network.
You can also use a tool like Flent. Flent can test points within your own network as well as external servers. The charts aren’t always the easiest to read, but look out for wide variations and graphs that looks like they were scribbled everywhere. The article linked goes into more detail of what you don’t want to see.
Mitigating The Problem
So, you’re network is bloated. What can you do? Well, you could dump WiFi altogether and wire up your house. That’d be nice, but not everyone can do that. So, you need to reconfigure your router to reduce the bloat.
Most quality routers and routers running custom firmware have a QoS(Quality of Service) section in their settings. In that section, you’ll find settings for managing packet scheduling, which can help control bufferbloat. There are a couple of basic settings there, but you need to get the values right.
Open up a browser, and go to a speed test website. Run the test a couple of times to get an average upload and download speed. Then, take each of those speeds and multiply it by 1000. Take the result for each and multiply that by 0.95. Keep each written down.
Now, go back to the QoS settings. Enable QoS, if you haven’t already. Set the packet queueing discipline to FQ_CODEL, if available. If not, try regular CODEL. It’s not quite as good, but it can still help. Finally, set the uplink and downlink speeds to the ones you calculated from your upload and download averages. Save and apply your settings.
Try testing out your connection again. Your speed might be about 95% of what it was, but the bufferbloat should be greatly reduced.
If that didn’t work, there might be another problem along the way. Start testing connections between devices on your network. If all else fails, consider that your modem might be the problem, or it isn’t really bufferbloat at all, and you may have an interference problem instead.