BBR 是 Google 开源的一种 TCP 网络拥塞控制优化算法,可以加快访客到您服务器的访问速度。尤其是对于国外服务器,开启 BBR 后可以较为明显地提高服务器连接速度,减少 TCP 延迟,降低丢包率。
Linux 新版系统内核,即 4.9 及以上版本的内核已添加 BBR 模块支持,不过默认没有开启。CentOS 7 系统的标配是 kernel-3.10,需要先升级内核版本到 4.9+,再设置开启 BBR。
注意事项:
- “Google BBR”和“锐速”(Lotsever)不能同时安装,因为一个要求升级内核,一个需要降级内核;
- “Google BBR”需升级系统内核,可能会出现系统不稳定现象,请勿在重要生产环境中安装,以免造成不可预料的后果(建议提前备份服务器资料)
前期准备
主要是为了防止运行命令时,提示找不到 wget 或 Curl,已有可忽略此步骤(可运行下方一键脚本,不报错就行)
CentOS 安装 wget 和 curl
yum -y install wget yum -y install curl
Debian/Ubuntu 安装 wget 和 curl
apt-get install wget apt-get install curl
查看内核版本信息
uname -r
升级内核并开启 BBR
高版本 Linux 系统
Debian≥9 或 CentOS≥8 以上的高版本系统,系统已自带 BBR 加速功能,直接通过以下命令开启即可。命令可全选复制后一起运行,也可以选择每行代码逐条运行。
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p lsmod | grep bbr
其他 Linux 系统
Centos 7、Debian 8/9、Ubuntu 16/18 系统适用,似乎不支持 OVZ
脚本一[推荐]
一键自动安装最新内核并开启 TCP BBR 脚本(谷歌官方原版BBR加速脚本)
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
也可以使用下方命令,本质上是一样的
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh chmod 755 /opt/bbr.sh /opt/bbr.sh
脚本二
脚本二,似乎需要手动升级服务器内核,步骤如下:
更新 yum
yum -y update
查看内核
uname -r
手动下载“秋水 BBRPlus 版”内核
wget https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/bbrplus/centos/7/kernel-4.14.129-bbrplus.rpm
手动安装内核
yum -y install kernel-4.14.129-bbrplus.rpm
更新引导
# 其他VPS使用如下: sudo grub2-mkconfig -o /boot/grub2/grub.cfg # 甲骨文 VPS(Oracle Cloud)使用如下: sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
列出系统开机启动项
# 其他VPS使用如下: sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg # 甲骨文 VPS(Oracle Cloud)使用如下: sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
设置新版内核默认启动项(其中的0
要根据实际排序调整)
sudo grub2-set-default 0
重启
sudo reboot
重启服务器后使用秋水一键脚本(四合一 BBR BBRPlus / 原版 BBR / 魔改 BBR),选择7
开启BBRplus
加速,再通过./tcp.sh
命令返回脚本管理菜单,然后选择10
优化并重启系统。
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
脚本三
该脚本只能用于 CentOS,Centos7.6 能安装,Centos9 测试无法安装。
wget "https://github.com/cx9208/bbrplus/raw/master/ok_bbrplus_centos.sh" && chmod +x ok_bbrplus_centos.sh && ./ok_bbrplus_centos.sh
安装完成后,脚本会提示需要重启 VPS,输入 y 回车后重启。
验证 BBR
重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启了 TCP BBR。通过执行如下命令来检查 bbr 是否开启成功(没必要全部验证):
sudo sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:net.ipv4.tcp_available_congestion_control = bbr cubic reno
或者:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_congestion_control
返回值一般为:net.ipv4.tcp_congestion_control = bbr
sudo sysctl -n net.ipv4.tcp_congestion_control
返回值应为:bbr
sysctl net.core.default_qdisc
返回值一般为:net.core.default_qdisc = fq
lsmod | grep bbr
返回值含“tcp_bbr”说明 bbr 已启动,如: tcp_bbr 20480 28
评论0