# bbr加速
bbr是google的一套算法,用于实现tcp加速,本文记录如何在centos7中使用bbr
首先查看一下当前服务器的kernel有没有按照,版本对不对:
uname -r
大概会显示这么一个玩意
3.10.0-514.2.2.el7.x86_64
安装 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.9.0以上的kernel
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
确认下刚刚安装的
rpm -qa | grep kernel
显示的结果大概如下,不一定完全一样,但应该有一个4.9.0以上的kernel
kernel-ml-4.9.0-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.2.2.el7.x86_64
kernel-tools-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64
通过设置grub2的默认启动项来启用这个4.9.0以上的kernel
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
结果大概是这样的
CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.9.0-1.el7.elrepo.x86_64)
CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bf94f46c6bd04792a6a42c91bae645f7) 7 (Core)
从0开始数,第一行是0,第二行是1,这里是第二行的,下面的命令用1
sudo grub2-set-default 1
重启服务器
sudo shutdown -r now
再次查看kernel版本
uname -r
没意外的话已经切换好了
修改sysctl配置来启用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
输出为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
再次验证
sudo sysctl -n net.ipv4.tcp_congestion_control
输出为:
bbr
最后检查kernel module有没有加载
lsmod | grep bbr
结果类似是这样的
tcp_bbr 16384 0
接下来可以随心所欲的测试,比如下载个文件啥的,就不写了
xampp →