有什么不明白的地方,扫描右方二维码加我微信交流。
       

什么是BBR加速:

TCP BBR是谷歌出品的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。
Google提交到Linux主线并发表在ACM queue期刊上的TCP-BBR拥塞控制算法。继承了Google“先在生产环境上部署,再开源和发论文”的研究传统。TCP-BBR已经再YouTube服务器和Google跨数据中心的内部广域网(B4)上部署。由此可见出该算法的前途。
TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽。一条网络链路就像一条水管,要想最大化利用这条水管,最好的办法就是给这跟水管灌满水。
BBR解决了两个问题:

  • 在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
  • 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。
对于TCP单边加速,并非所有人都很熟悉,不过有另外一个大名鼎鼎的商业软件“锐速”,相信很多人都清楚。特别是对于使用国外服务器或者VPS的人来说,效果更佳。

升级内核:

yum update

安装elrepo并升级内核:

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

更新grub文件并重启系统:

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0
reboot

重启完成后查看内核版本是否为4.9以上

uname -r

配置BBR文件,在文件的末尾添加如下内容:

//打开配置文件
vi /etc/sysctl.conf
//复制以下内容并保存退出
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

加载系统参数

//输入
sysctl -p
//如果输出了以下参数,表示我们的配置正常
net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.eth0.accept_ra = 2
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

确定bbr已经成功开启:(如果未成功开启,则重启一下)

//输入
sysctl net.ipv4.tcp_available_congestion_control
//正确输出
net.ipv4.tcp_available_congestion_control = bbr cubic reno
//输入
lsmod | grep bbr
//正确输出
tcp_bbr 20480 2//最后的2可以是其它任何数字

ok,到这里BBR加速我们已经完成了,有什么问题可以在下方留言。

 

2022.8.8,升级内核失败解决

近几天vpn的速度突然慢下来了,看个youtube视频20k的下行速度,最低分辨率视频都要加载半天才能看。这是什么情况?

查了下服务器,发现内核版本降低到3.10了,以前的bbr用的好好的,为什么现在突然降低到3.10了?

想了想最近的操作,搭建nextcloud,filebrowser,升级各种东西,可能在某次操作时由于一些软件的版本问题把内核退回到3.10了?

原因就不细细追寻了,只记录下解决的过程。

内核版本3.10,那再升级一下就行了,于是我按照上面的步骤反复操作,重启后内核版本依然是3.10。

内核版本按照以上的升级方法无法成功。查了各种资料,在这里找到了答案:升级内核失败解决

总结来说就是设置好启动内核后,重新生成一下配置文件,操作如下:

//查看当前可使用的内核版本
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
//设置当前启动内核
grub2-set-default 0
//重新生成配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
//重启
reboot

以上操作完成方成功切换内核版本。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注