I have been looking into enabling bbr congestion control on some of our servers to test if they make any difference for our workloads.
We are on Amazon Linux 2:
# uname -a Linux ip-10-1-66-180.us-east-1.aws.dckr.io 4.14.173-137.229.amzn2.x86_64 #1 SMP Wed Apr 1 18:06:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
I had a look into available congestion control and got this
# cat /proc/sys/net/ipv4/tcp_available_congestion_control cubic reno
Does this mean
bbr support is not available in our kernel? I saw some people showing the same output of the above command and still setting
I also checked the kernel modules as I’ve read somewhere that some
bbr module needs to be loaded but I suspect that was necessary for older Kernels.
# lsmod | grep -i bbr
Is there a way I can enable
bbr on our servers given the kernel version I mentioned earlier?
The kernels in Amazon Linux 2 do indeed include BBR congestion control support. You enable it like any other congestion control method.
[[email protected] ~]# echo bbr > /proc/sys/net/ipv4/tcp_congestion_control [[email protected] ~]# cat /proc/sys/net/ipv4/tcp_congestion_control bbr
Because it was built as a module it is loaded on demand, so it deos not show up as available unless the module had already been loaded. Now you can see it:
[[email protected] ~]# cat /proc/sys/net/ipv4/tcp_available_congestion_control bbr cubic reno [[email protected] ~]# lsmod | grep -i bbr tcp_bbr 20480 5
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.