BBR是什么??
TCP-BBR 是谷歌社区开发的拥塞算法,主要致力于解决两个问题:1、在有一定丢包率的网络链路上充分利用带宽。2、降低网络链路上的 buffer 占用率,从而降低延迟。
因此,TCP-BBR 可以作为一款单边加速的工具,在 VPS 上面使用。在此之前,比较流行的单边加速工具是锐速,不同于锐速的暴力发包,TCP-BBR 显得更为温和,在改善自己的网络的同时,不会影响邻居家的网络。搬瓦工官方就已经配置了自带 BBR 的操作系统,后台便可一键安装。
BBR 官方项目地址:https://github.com/google/bbr
系统要求
centos 6+,Debian 7+,Ubuntu 12+
内存要求:≥128M
本脚本只适用于 KVM/XEN/VMware 架构的 VPS,不支持 OpenVZ 架构。
查看 VPS 是哪种架构(Debian/Ubuntu):
apt-get install virt-what virt-what
关于本脚本
1、本脚本已在 Vultr 上的 VPS 全部测试通过。
2、当脚本检测到 VPS 的虚拟方式为 OpenVZ 时,会提示错误,并自动退出安装。
3、脚本运行完重启发现开不了机的,打开 VPS 后台控制面板的 VNC, 开机卡在 grub 引导, 手动选择内核即可。
4、由于是使用最新版系统内核,最好请勿在生产环境安装,以免产生不可预测之后果。
安装脚本
在 root 用户下,运行以下命令:
wget --no-check-certificate https://www.vpsrb.com/files/centos_bbr.sh && chmod +x centos_bbr.sh && ./centos_bbr.sh
安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。
重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
lsmod | grep bbr
返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。
内核升级方法
CentOS 系统,执行如下命令即可升级内核:
yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
CentOS 6 的话,执行命令:
sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
CentOS 7 的话,执行命令:
grub2-set-default 0
如果是 Debian/Ubuntu 系统,则需要手动下载最新版内核来安装升级。
去这里下载最新版的内核 deb 安装包。
或者使用这个脚本进行自动升级:《[一键安装] Debain/Ubuntu 开启 TCP-BBR 一键安装脚本》
更新日志
2017 年 10 月 28 日:
1、更新:自动判断内核版本。如果内核版本已经大于或等于 4.9 且没有开启 BBR,脚本会直接设置好 BBR;
2、新增:脚本执行时会在当前目录下创建日志(install_bbr.log),方便查看及排错。
2017 年 02 月 22 日:
1、更新:自动获取最新版 4.10 内核。
2017 年 01 月 20 日:
1、新增:自动获取并下载安装最新版内核的功能。
2017 年 01 月 13 日:
1、更新:内核到 4.9.3。
2017 年 01 月 09 日:
1、更新:内核到 4.9.1。
参考链接
https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md
http://elrepo.org/tiki/tiki-index.php
http://kernel.ubuntu.com/~kernel-ppa/mainline/
本文来源:https://teddysun.com/489.html