如何BBR算法实现服务器加速-详解
一、BBR算法介绍
注意!搭建bbr之前最好是保持系统为刚重装过的,不要用已经在正常使用的服务器来弄,避免系统损坏或者其他原因导致的打不开网站。。。
BBR算法是Google在Linux Kernel 4.9内核上加入的TCP拥塞控制算法。在BBR之前可以理解TCP的控制算法都为被动的拥塞控制算法,而BBR控制算法可以认为是一种主动拥塞控制算法。BBR通过避免排队来尽量的跑满带宽,以此达到加速的目的。
二、更换Linux内核
在Kernel 4.9内核加入BBR算法,所以需要将服务器内核更新为4.9以上。输入 uname -r查看当前系统内核
这里要说明一下,DigitalOcean服务器需要进行设置才能进行内核的更改,建议直接使用Ubuntu 16.04作为服务器,则可直接更换内核
下载最新内核
view plain copy
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.12/linux-image-4.14.12-041412-generic_4.14.12-041412.201801051649_amd64.deb
安装内核
[python] view plain copy
dpkg -i linux-image-4.*.deb
删除旧内核(可选)
view plain copy
dpkg -l | grep linux-image
apt-get purge 旧内核
更新grub系统引导文件并重启
view plain copy
update-grub
reboot
三、开启BBR加速
开机后输入uname -r再次确认内核版本
执行 lsmod | grep bbr,如果结果中没有 tcp_bbr 的话就先执行
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
执行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存生效
sysctl -p
执行
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有 bbr, 则证明你的内核已开启 bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动
————————————————