ADVERTISEMENT
BBR (Bottleneck Bandwidth and RRT) is a much improved TCP CCA (Congestion Control Algorithm) for Linux from Google that can achieve higher bandwidths and lower latencies that is already being used to power TCP traffic on websites such as google.com, youtube.com and several WordPress providers. You can learn more at the Google Cloud blog post here.
Linux distros running Kernel 4.9 or newer comes with BBR but is not enabled by default, instead it uses Reno CUBIC. You can check which algorithm is being use by running the command below:
sysctl net.ipv4.tcp_available_congestion_control
You should see the result similar to below:
net.ipv4.tcp_available_congestion_control = cubic reno
Here’s how to change the Congestion Control Algorithm from Reno CUBIC to BBR:
Step 1: Check if your Linux Kernel is 4.9 or newer, otherwise it will not work.
uname -r
Step 2: Run the command below to open up the sysctl.conf file with nano:
sudo nano /etc/sysctl.conf
Add these 2 lines to the bottom of the file:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
Once you are done, press CTRL+O to save and hit Enter, followed by CTRL+X to exit the file.
Step 3: Run the command below to reload sysctl:
sudo sysctl -p
You should see that you are now using BBR, if not you can run the below command to check:
sysctl net.ipv4.tcp_congestion_control
