I dreaded large downloads because they seemed to suck the life out of every other process. I can go from a clear video call to sudden stuttering, and a smooth gaming experience can become extremely laggy just because someone started downloading a 10GB file on the network. It took one router feature to fix this problem. Now even when downloads run at full tilt, they don't drag the rest of the network down.

My speed test kept saying I was fine

A good download speed can hide terrible latency

Bufferbloat diagram
image credit - self captured (Tashreef Shareef) - No Attribution Required

Just before I started the large download, speed tests were recording about 65Mbps, which is typical for my internet connection. When I started the large download and felt my internet ground to a halt, the speed tests still showed about 65Mbps.

Where I saw a real difference was in ping, which hovered around 18ms before the download and rose to about 387ms when the download started. Before and during downloads, I was on the same network setup; I didn't change the ISP, router, or internet plan, yet the experience was very different.

The speed tests weren't intentionally deceiving me, but the headline download number didn't explain what happens to latency under load. So even though my connection still had plenty of throughput, latency-sensitive packets were spending far too long waiting in the queue.

A large download can fill the bottleneck's queue, leaving other packets waiting behind traffic that isn't nearly as latency-sensitive. Compared to a file transfer, a voice packet weighs almost nothing, but it will still arrive late if it's forced to queue behind that large transfer. This manifested as lag and stuttering in calls. So while everything else felt shut down, the download itself kept flying.

I made my internet slower on purpose

SQM moves the bottleneck to a place I can actually control

Fast dot com speed test result
Afam Onyimadu / MUO

The fix was simple: cap your own connection at a level below its actual maximum. When I first came across it, it sounded a bit backward. The intentional cap causes the router to control the queue rather than letting an uncontrolled queue build up farther upstream at the bottleneck. It's the function of Smart Queue Management (SQM). SQM shapes your packet traffic rather than allowing a queue to pile up wherever the ISP has room. This makes your router the point where traffic is shaped before it reaches the bottleneck you can't control.

It was hard to accept at first because it meant setting the shaped rate below the connection’s top speed — willingly going below the 65Mbps my connection could theoretically reach. Initially, I thought of it as giving up real bandwidth when the problem wasn't bandwidth-related. But in practice, this creates headroom.

It allows a small buffer of unused capacity, ensuring queues never grow more than a few packets deep. The extra room ensures there aren't long wait times in the queue. This way, using my speed doesn't come at the expense of the rest of the network.

The SQM fix is more effective when your router can control traffic just before the bottleneck that is causing the queue. It's not possible to remove that bottleneck by shaping traffic on your router if the congestion isn't happening somewhere you can control. However, this fix applies to most home networks.

CAKE is what made the trade-off worth it

CAKE keeps large downloads from dominating the queue

The concept is about SQM, but on my router, CAKE (Common Applications Kept Enhanced), a queue management and shaping algorithm, is what it uses to implement SQM. Both are often used interchangeably, but this understates CAKE's value. CAKE can also divide traffic fairly between flows and hosts. This prevents a single large transfer from monopolizing the queue.

In the past, all other traffic waited behind that single large download. Once I enabled CAKE, the large download stayed close to full speed, but video calls and other activity did not suffer. One wasn't prioritized over the other.

It's doing something different from the typical QoS settings on a router, which may allow you to prioritize a video call over other things. CAKE, on the other hand, makes the big transfer share the queue.

Before you go looking for CAKE, understand that consumer routers don't always expose it or full SQM controls in the stock firmware. Like in my case, you may have to replace the factory software on your router with open-source custom firmware like OpenWrt. There are other options, like Asuswrt-Merlin for ASUS routers and dd-wrt or FreshTomato, which are compatible with older routers, and the steps will depend on the firmware you use.

Here's what my connection felt like before and after enabling SQM and CAKE:

Before SQM

After SQM

Max download

65Mbps

57Mbps

Idle latency

18ms

17ms

Latency under load

387ms

29ms

Bufferbloat grade

F

A+

This process requires sufficient CPU resources on the router, so a router that handles unshaped traffic well may not seamlessly shape a fast connection at full speed.

The speed test got worse; the internet got better

I dropped top download speeds by about 8Mbps, and loaded latency, which spiked to about 387ms during heavy downloads, fell to 29ms. This was a significant drop in a number that meant the difference between a smooth video call and excessive stuttering. On paper, speed got worse, but I had just made my internet more usable.