为VPS开启BBR拥塞控制算法
最后更新日期:2017.09.20
BBR是来自于Google的黑科技,目的是通过优化和控制TCP的拥塞,充分利用带宽并降低延迟,起到神奇般的加速效果。 在BBR之前,比较有名的就是国产的锐速了,不过,由于锐速是个国产的闭源软件,所以一直纠结不想装在VPS上。正好,BBR的出现,又成为一个可供折腾的对象。
BBR 这个特性其实是在 Linux 内核 4.9 才计划加入的。所以,要开启BBR,需要内核版本在Linux kernel 4.9以上。下面纪录一下如何升级Linux内核,并且开启BBR:
Debian 8 / Ubuntu 14 / Ubuntu 16
友情提示:如果安装最新的Ubuntu 17版本,有可能内核已经为4.10了,可以不用再升级内核了
下载最新内核,最新内核查看这里
1
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.4/linux-image-4.11.4-041104-generic_4.11.4-041104.201706071003_amd64.deb安装内核
1
dpkg -i linux-image-4.*.deb清理不用的旧内核(可选)
1
apt-get autoremove更新 grub 系统引导文件并重启
1
2
update-grub
reboot
CentOS 7
下载更换内核最新内核查看这里
1
2
3
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org查看内核是否安装成功
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
1
rpm -qa | grep kernel删除旧内核(可选)
1
rpm -ev 旧内核更新 grub 系统引导文件并重启
1
2
3
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'注意,某些服务商(如Digital Ocean)可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。
grub2-set-default 0 #default 0表示第一个内核设置为默认运行, 选择最新内核就对了
reboot
开启BBR
开机后 uname -r
看看是不是内核4.9、4.10或4.11
执行 lsmod | grep bbr
,如果结果中没有 tcp_bbr
的话就先执行
1
2
modprobe tcp_bbr
echo "tcp_bbr" /etc/modules-load.d/modules.conf
执行
1
2
echo "net.core.default_qdisc=fq" /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf
保存生效sysctl -p
执行
1
2
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有bbr
, 则证明你的内核已开启bbr。看到有 tcp_bbr 模块即说明bbr已启动,这样,就可以开始体验Google的黑科技加速了……
搬瓦工VPS开启BBR的新姿势
搬瓦工的VPS预装系统里面,有的模板已经自带了BBR了,也就是说,你也不需要额外的配置了,选择这种带BBR的预装系统,就能直接启用BBR加速了:
最后,用Google Cloud台湾和搬瓦工CN2的主机试了一下,上油管,1080P不卡,1440P也不卡,速度快到飞起!很棒!
文章来源:
Author:Timothy
link:https://xiaozhou.net/enable-bbr-for-vps-2017-06-10.html
上一篇:程序员内功系列--序篇