前言

用这个服务器已经快一年了,也快到期了,要续费了。呜呜呜。但是在这个服务器使用的时候,有大半年时间因为服务器速度不好造成很多麻烦事,一开始的时候还好,后面就变得不稳定,甚至很慢,下载东西几十K每秒,后来才知道原来阿里云香港服务器的电信线路连接的时候会绕一下日本NTT再回来,所以会比其他运营商慢上一大截,而刚好,我的网络环境就是电信环境,所以会很慢很慢。其实是有办法加速的,这种情况下,如果把服务器的BBR打开,就会好很多了,当然服务器慢和这个也不是有关系的,只是打开BBR的话有一定的速度优化。那啥是BBR呢?BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。我这边阿里香港服务器实测是有效果的,但是如果是美国日本服务器的话,就不好说了,服务器供应商有没有对线路有优化也决定了服务器的速度。这个文章就简单记录一下服务器安装打开BBR的过程

开启过程

此文章以CentOS 7为例,其他发行版系统雷同。

更新内核

Linux各发行版用的内核都是一样的,Linux的内核版本需要4.9以上,所以如果达到了4.9就可以开了,不过这里还是推荐各位直接升级到最新版吧,这里不细说内核的更新,可以参考我这个文章->家用服务器的搭建与软件部署,有很详细的说明CentOS内核的更新过程,Ubuntu的话参考Ubuntu的更新教程,这里不详细展开。

开启BBR

当内核更新完成之后,依次输入下面的命令:

sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf 
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf 
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf 
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf

验证BBR

命令一:验证当前TCP控制算法

sysctl net.ipv4.tcp_available_congestion_control

返回的信息是如下证明已经开启:

net.ipv4.tcp_available_congestion_control = bbr cubic reno
//此处返回的信息只要有bbr就证明已经开启,后面三个参数的顺序无关紧要

命令二:BBR启动情况

sysctl net.ipv4.tcp_congestion_control

返回的信息是如下证明已经开启:

net.ipv4.tcp_congestion_control = bbr

BBR关闭

依次输入下面的命令:

sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf 
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf 
sysctl -p       
reboot 

参考资料

  1. TCP BBR - 如何安装、启动、停止BBR!