CentOS 7上部署Google BBR
BBR(瓶颈带宽和RTT)是一种新的拥塞控制算法,由Google提供给Linux内核TCP堆栈。使用BBR,Linux服务器可以显着增加吞吐量并减少连接的延迟。此外,由于该算法只需要在发送方更新,而不是在网络中或在接收端,所以很容易部署BBR。
在本文中,我将向您展示如何在Vultr CentOS 7 KVM服务器实例上部署BBR。
前提条件:
1.kvm架构的vps
2. 系统centOs7
3.有sudo
一、使用ELRepo RPM存储库升级内核
为了使用BBR,您需要将CentOS 7机器的内核升级到4.9.0。您可以使用ELRepo RPM存储库轻松完成此操作。
升级之前,您可以查看当前的内核:
- uname -r
输出结果可能是:
目前内核是3.10
安装ELRepo repo:
- sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
-
- sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
使用ELRepo repo安装4.12.3内核:
- sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
确认结果:
- rpm -qa | grep kernel
如果安装成功,您应该看到如下:
现在,您需要通过设置默认的grub2引导项来启用4.12.3内核。
- sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
设置默认的内核为4.12.3,此处选择1
- sudo grub2-set-default 1
重启系统:
- sudo shutdown -r now
当服务器重新联机时,再次确认正在使用的内核:
- uname -r
结果应该如下
二、启用bbr
首先要修改配置
- echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
-
- echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
-
- sudo sysctl -p
确认启用BBR:
- sudo sysctl net.ipv4.tcp_available_congestion_control
结果为
验证
- sudo sysctl -n net.ipv4.tcp_congestion_control
结果应该是:显示bbr
最后检查内核模块是否被加载
- lsmod | grep bbr
结果应该是
此时就算完成了,可以测试你的网速了