如何在vps上安装、启动、停止BBR加速
手动升级内核安装和启动BBR
TCP BBR是谷歌出品的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果
BBR解决了两个问题:
在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。
对于TCP单边加速,特别是对于使用国外服务器或者VPS的人来说,效果更佳。
TCP BBR从Linux 4.9 内核就作为它内核的一部分存在了,如果想开启使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。
下面是操作步骤:
1.手动升级内核
检查是否已经安装了ELRepo:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
如果没有安装ELRepo,在shell里面依次执行下面两条命令
crpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
cento 6输入:srpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
cento 7输入:rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
升级内核:
yum --enablerepo=elrepo-kernel install kernel-ml
随后在shell里面输入"y",执行升级内核操作
在shell里面输入下面命令:
rpm -qa | grep -i kernel
重启:reboot
uname -r来验证一下就ok
2.启动BBR加速
代码如下(示例):
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
sysctl -p
重启:reboot
当系统重新启动后,BBR就已经可以使用。
验证当前TCP控制算法的命令:
命令: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
验证BBR是否已经启动
命令:sysctl net.ipv4.tcp_congestion_control
返回值:
net.ipv4.tcp_congestion_control = bbr
命令:lsmod | grep bbr
返回值:
tcp_bbr 20480 5(次返回值为我个人配置举例,返回值只要有有tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常)
3.停止BBR加速
依次执行下面命令即可:
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
sysctl -p
重启:reboot