/etc/sysctl.d/99-bbr.conf with net.core.default_qdisc=fq and net.ipv4.tcp_congestion_control=bbr, then run sudo sysctl --system. Check it with sysctl net.ipv4.tcp_congestion_control, which should print bbr. BBR needs kernel 4.9 or newer, so every current Ubuntu, Debian, AlmaLinux and Rocky release supports it. It affects new TCP connections only.
Before you start
- TCP congestion control decides how fast a server sends data and how it reacts to loss. The algorithm your server uses now is shown by the first command below (often
cubic). BBR, developed by Google, estimates the available bandwidth and round-trip time instead of waiting for packet loss, which often gives higher throughput on long or slightly lossy paths. - BBR changes how your server sends TCP data, such as web pages, downloads and file transfers. It doesn’t change incoming traffic or UDP traffic, such as most game server traffic.
- Commands use
sudo; as root, leave it out.
How to check which algorithm you use now
bbr isn’t in the available list yet, the kernel module isn’t loaded. The steps below load it.
How to enable BBR
1
Check the kernel version
2
Load the BBR module
3
Create the sysctl file
/etc/sysctl.d/ are read at boot on every systemd distribution, so this survives reboots.4
Apply the settings
99-bbr.conf values.How to check it worked
Why set the qdisc to fq?
A qdisc (queueing discipline) decides how outgoing packets wait in the queue. Early BBR needed thefq qdisc to pace packets. According to Google’s BBR quick-start, Linux 4.20 and later can pace packets inside TCP, so any qdisc works, but fq still performs better on busy servers. That’s why this guide sets both. Ubuntu’s default is fq_codel.
How to undo BBR
On container-based virtualisation (for example LXC or OpenVZ), the kernel belongs to the host and you usually can’t change these settings. A KVM VPS or a dedicated server runs its own kernel.
Frequently asked questions
Does BBR reduce ping in games?
No. BBR changes how fast TCP sends data; it doesn’t shorten the network path, and most game traffic uses UDP. It can help downloads, web pages and file transfers from your server, especially to distant users.Should I use BBR or cubic?
On servers that send a lot of data over long distances, BBR often gives better throughput. Measure before and after with iperf3 from a distant machine and keep whichever performs better for you.Do I need to set BBR on the client too?
No. Congestion control is chosen by the sender. Enabling it on the server affects data the server sends.Is BBR available on Windows Server?
This guide covers Linux only. Windows Server has its own TCP stack and settings.Related guides
VPS and dedicated server guides
Every guide in this section.
Kernel settings with sysctl
How sysctl files work.
Test speed with iperf3
Measure the difference.
Diagnose network latency
Find where lag starts.
Tune Linux for game servers
More performance settings.
Checked against the Linux kernel IP sysctl documentation and Google’s BBR quick-start guide on 4 November 2026; the check commands (
sysctl, ss -ti) were run on Ubuntu 24.04 LTS; the steps that change kernel settings were not run there. Commands can differ on other distributions or releases.Need Extra Help?
If you encounter any issues, our support team is ready to assist:- Live Chat: Quick assistance via our website.
- Support Ticket: Open a Ticket
- Discord: Join our Community
- Email: support@freakhosting.com
Last Updated: November 2026