Digitalocean VPS开启TCP BBR
2016-12-29(四) by chenjia.me随着TCP BBR 被加入到Linux Kernel 4.9中,网络上掀起了一大波对BBR的讨论,由于其对大陆网络不好地区有特殊加速buff,所以就在自己的DD vps上做了测试,效果还是很可观的。
确定自己的主机类型
登录Digitalocean的控制台,查看自己的VPS的kernel标签,如果可以直接更换,那么直接跟随教程替换kernel然后在这里进行选择,如果是显示 那么你就需要根据教程来手动替换内核。
下载安装Linux kernel 4.9
首先先确定自己系统类型,是什么架构的VPS,如果是OpenVZ的就可以放弃了,其他的都没什么问题。
首先先下载内核DEB文件:Ubuntu内核,从中下载对应的内核文件,然后使用dpkg命令进行安装
cd ~
mkdir kernel4.9
cd kernel4.9
wget xxxxx.deb
sudo dpkg -i xxxx.deb
更换启动内核
如果是控制台可以更换的就直接在控制台进行选择,如果不可直接更换,可以参考官方换核教程How to update a digitalocean server‘s kernel
摘录关键步骤:
-
sudo vim /etc/default/grub
添加或修改对应行GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true GRUB_DISABLE_SUBMENU=y
-
sudo vim /etc/default/grub.d/50-cloudimg-settings.cfg
如果存在该文件就注释其中的GRUB_DEFAULT=0
-
更新GRUB
export GRUB_CONFIG=`sudo find /boot -name "grub.cfg"` sudo update-grub
-
查看当前已经安装内核:
grep 'menuentry ' $GRUB_CONFIG | cut -f 2 -d "'" | nl -v 0
,记住4.9内核的普通模式的序号 sudo grub-set-default 2
将2替换为你对应的序号,进行更新sudo reboot
重启机器uname -a
检查是否成功使用4.9内核-
开启bbr功能:
sysctl net.core.default_qdisc=fq sysctl net.ipv4.tcp_congestion_control=bbr
-
检查是否开启成功
uname -r # 查看内核版本,含有 4.9.0 就表示 OK 了 # ———————————— sysctl net.ipv4.tcp_available_congestion_control # 返回值一般为: # net.ipv4.tcp_available_congestion_control = bbr cubic reno # ———————————— sysctl net.ipv4.tcp_congestion_control # 返回值一般为: # net.ipv4.tcp_congestion_control = bbr # ———————————— sysctl net.core.default_qdisc # 返回值一般为: # net.core.default_qdisc = fq # ———————————— lsmod | grep bbr # 返回值有 tcp_bbr 模块即说明bbr已启动。
Enjoy
参考: