What Can I Do About Bufferbloat?
Bufferbloat is high latency (or lag) that occurs when there’s other
traffic on your network.
Here’s what you can do:
Measure the Bufferbloat…
Use the DSLReports Speed Test
to see if you have bufferbloat.
If the DSLReports test shows a letter grade worse than a B, you probably have bufferbloat.
That means the device at your bottleneck link (most
likely your router) is letting bulk traffic (uploads/downloads) interfere with
(and slow down) your time-sensitive traffic (gaming, Skype, Facetime, etc.)
For more details, read the Tests for Bufferbloat page.
Keep the results of the test handy as a baseline for your experiments.
Eliminate Bufferbloat in your Network…
There are lots of ways to throw money at this problem. Most won’t work.
Your ISP would love to sell you a faster connection, but link speed isn’t the problem -
it’s your router buffering more data than necessary.
Buying an expensive router (even one for “gaming”) won’t necessarily help,
since most commercial, off-the-shelf router manufacturers are clueless about Bufferbloat.
Twiddling the router’s QoS might make a difference, but it’s a hassle, and only helps a bit.
Instead, you are going to have to take charge.
Once you fix it for your own network, it’ll stay fixed for all time,
and you won’t be subject to changing practices at your ISP or other vendors.
You need to find a router whose manufacturer understands the principles of
bufferbloat, and has updated the firmware to use one of the Smart Queue
Management algorithms such as cake, fq_codel, PIE, or others.
Here are some resources:
- If your router already has SQM settings, you can measure latency under load
(say, with DSLReports) without SQM,
then turn on SQM and measure again.
Keep adjusting the up and down speed settings (that’s it!) and measuring
until the latency gets as low as possible while retaining good speeds.
See, for example, this tuning session.
- Several commercial router vendors have a clue, and offer SQM in their stock firmware.
Here is a list of those we found:
- IQrouter provides a good setup wizard for
configuring SQM, and automatically tunes its settings.
IQrouter v3 is good to about 350 mbps. (Version 2 was good for 200-250 mbps.)
- Ubiquiti gear has fq_codel settings.
People say its EdgeRouter will handle over 400 mbps.
- Many of the “mesh” home router vendors seem to solve bufferbloat.
Check their spec’s or ask them about latency.
- Untangle NG Firewall has fq_codel settings.
- ipfire.org has fq_codel settings.
- Install the OpenWrt 18.06 (or newer) firmware
on your current router. These builds are now
stable and include the luci-app-sqm package.
There’s a guide at the OpenWrt web site:
Or install suitable DD-WRT,
Tomato firmware, all of which support some kind
of queue management based on FQ-CoDel and/or Cake.
- Finally, if none of these seem to be options, call your router
vendor’s support line.
With the information from the DSLReports Speed Test in hand, you can
mention that the ping times get really high when up/downloading
files, and that it really hurts your network performance. Ask if
they’re working on the problem, and when they’re going to release a
firmware update that solves it.