Hello everyone! As a MSP we always strive to offer customers/users with the best and most reliable service/s by being able to increase your overall traffic throughput your customers/users are able to deliver content faster decreasing overall load on your server.
follow the steps to enable BBR (Bottleneck Bandwidth and Round-trip propagation time) congestion control algorithm in Linux, here’s how you can do it:
- Check BBR Availability: First, confirm if your Linux kernel supports BBR. BBR is available in Linux kernel versions 4.9 and above. You can check your kernel version by running the following command in the terminal:
uname -r
If your kernel version is 4.9 or above, you can proceed with enabling BBR. Otherwise, you might need to update your kernel.
- Enable BBR: To enable BBR, you need to modify the TCP congestion control algorithm.
Open the terminal on your Linux system Run the following command to edit the sysctl configuration file:
sudo nano /etc/sysctl.conf
Add the following lines at the end of the file:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
- Apply the Changes: To apply the changes made in the sysctl.conf file, run the following command:
sudo sysctl -p
This will reload the sysctl settings and enable BBR as the default TCP congestion control algorithm.
BBR should now be enabled on your Linux system. You can verify its activation by running the following command:
sysctl net.ipv4.tcp_congestion_control
If the output includes “bbr,” it means BBR is enabled.
Please note that enabling BBR requires administrative privileges (sudo access). Also, keep in mind that modifying system configurations can have consequences, so proceed with caution and make sure you understand the changes you are making.
Credits to Michael:
bbr
requires Linux kernel version 4.9 or above, use uname -r
to check your Linux kernel version:
Example output:
$ uname -a
Linux pi3 4.19.97-v7+
To enable BBR, you might need enable kernel module tcp_bbr
:
# modprobe tcp_bbr
# echo "tcp_bbr" > /etc/modules-load.d/bbr.conf
After modprobe tcp_bbr
, bbr
should be available in the list of tcp_available_congestion_control
:
$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr