BBR 是什么??
TCP-BBR 是谷歌社区开发的拥塞算法,主要致力于解决两个问题:1、在有一定丢包率的网络链路上充分利用带宽。2、降低网络链路上的 buffer 占用率,从而降低延迟。
因此,TCP-BBR 可以作为一款单边加速的工具,在 VPS 上面使用。在此之前,比较流行的单边加速工具是锐速,不同于锐速的暴力发包,TCP-BBR 显得更为温和,在改善自己的网络的同时,不会影响邻居家的网络。搬瓦工官方就已经配置了自带 BBR 的操作系统,后台便可一键安装。
BBR 官方项目地址:https://github.com/google/bbr
系统要求
Debian / Ubuntu 14.04 +
Centos 请使用这个脚本:[一键安装] Centos 开启 TCP-BBR 一键安装脚本
本脚本已在 Debian 7 / Debian 8 / Ubuntu 14.04 / Ubuntu 16.04 (均 x64 位) 这几个系统中测试过脚本可以正常运行!
脚本版本:v1.0.19
本脚本只适用于 KVM/XEN 架构的 VPS,不支持 OpenVZ 架构。
查看 VPS 是哪种架构(Debian/Ubuntu):
apt-get install virt-what virt-what
安装步骤
由于安装 BBR 需要更换内核,更换内核需要 Root 权限。如果你当前不是 Root 用户,请切换至 Root 用户:sudo su
在 root 账户下输入以下命令:
wget -N --no-check-certificate https://www.vpsrb.com/files/bbr.sh && chmod +x bbr.sh && bash bbr.sh
下载并运行脚本后,会自动检测并开始安装,首先会提示你输入要下载的内核版本,可以安装自定义版本的内核,也可以直接回车安装最新版本的内核(内核版本获取)。
请输入 要下载安装的 Linux 内核版本(BBR) [ 格式: x.xx.xx ,例如: 4.10.12 ] [注意]内核版本列表请去这里获取:[ http://kernel.ubuntu.com/~kernel-ppa/mainline/ ] (默认回车,自动获取最新版本):
在 Debian 系统中,删除旧内核时,会提示你是否终止删除内核的行为,这个需要你选择 (键盘方向键 选择,回车键 确认)。
如果没有出错,内核更换完毕后,会提示是否立即重启 VPS,直接回车或者输入 Y
。
需要重启 VPS 后,才能开启 BBR,是否现在重启 ? [Y/n] : y [注意] 重启 VPS 后,请重新运行脚本查看 BBR 是否加载成功 bash /xxx/bbr.sh status [信息] VPS 重启中...
等待十几秒,VPS 启动后,重新通过 SSH 连接 VPS,运行重启时提示的命令查看 BBR 是否加载成功。
bash /xxx/bbr.sh status # /xxx/ 是 BBR 脚本所在目录,脚本会自动识别并显示给你,免得一些人找不到自己把 bbr.sh 脚本下载到哪里去了。
然后就会自动开启 BBR。
如果重启 VPS 后,无法连接(或者链接后查看状态提示:BBR 已开启但未启动),说明内核安装或与系统存在兼容性问题,无法正常启动,代表你的 VPS 当前系统无法使用 BBR,请更换其他系统!
BBR 使用命令
# 启动 BBR bash bbr.sh start # 关闭 BBR bash bbr.sh stop # 查看 BBR 状态 bash bbr.sh status #升级 BBR bash bbr.sh # 重新执行脚本会检测最新内核和当前内核,对比版本
因为 BBR 只是内核中的一段功能代码,所以内核更新不一定是 BBR 更新,就像 Win10 中 IE 的位置一样,Win10 更新不代表是为了更新 IE,所以是否要更新内核要看 BBR 官方源码有没有更新了。
BBR 官方项目地址:https://github.com/google/bbr
注意 BBR 源码最后更新时间,如果比你的内核新,那么你可以更新内核,反之无需更新。
卸载 BBR
BBR 集成于内核中,如果你要卸载 BBR,则需要降级内核。
更换内核后重启服务器无法启动 的问题
如果重启 VPS 后,无法连接,说明内核安装有问题 或 内核与系统存在兼容性问题,无法正常启动。
这代表你的 VPS 当前系统不支持最新的内核版本,无法开启 BBR,请更换其他系统尝试!
更新日志
2017 年 11 月 13 日,版本 v1.0.19
1. 修复 更换内核,卸载旧内核步骤时误删新内核的问题。
2017 年 11 月 13 日,版本 v1.0.18
1. 修复 更换内核,卸载旧内核步骤时,判断内核数量有误的问题(更新脚本后,只需要重新执行 bash bbr.sh install即可继续删除旧内核步骤)。
2017 年 09 月 06 日,版本 v1.0.17
1.修复 在内核版本为 X.XX.0 的时候,检测 BBR 更新会提示更新的问题(很早就有的 BUG,一直忘记修复,这是因为内核仓库版本号为 4.13 而安装后内核版本为 4.13.0 导致不一致,所以才会不停循环提示更新)。