技术宅

当前位置:首页 > 服务器技术 > linux主机

linux主机

CentOS 7安装BBR教程

时间:09-25 作者:
对于bbr而言,通俗来讲就是对Linux内核TCP协议的优化从而达到提速的目的。但是注意的是,1)bbr不能改变地理位置的限制,也就是说他不会改变网络的线路,该绕还是绕;2)安装和开启bbr往
对于bbr而言,通俗来讲就是对Linux内核TCP协议的优化从而达到提速的目的。但是注意的是,1)bbr不能改变地理位置的限制,也就是说他不会改变网络的线路,该绕还是绕;2)安装和开启bbr往往要更新内核,因此对于VPS而言,推荐选择KVM构架。本文将简述bbr在CentOS 7下的安装和启用的方法,亲测有效,整个流程也十分简单。

1、yum系统更新

yum update

2、查看系统版本

cat /etc/redhat-release

输出如下则表示已升级到7.5

CentOS Linux release 7.5.1804 (Core)

3、安装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

正常情况下将输出如下信息:


Transaction Summary
===================================================================================
Install  1 Package

Total download size: 46 M
Installed size: 205 M
Downloading packages:
kernel-ml-4.19.0-1.el7.elrepo.x86_64.rpm                                           |  46 MB  00:00:19
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : kernel-ml-4.19.0-1.el7.elrepo.x86_64                                               1/1
  Verifying  : kernel-ml-4.19.0-1.el7.elrepo.x86_64                                               1/1

Installed:
  kernel-ml.x86_64 0:4.19.0-1.el7.elrepo

Complete!

安装完成后使用下面命令查看当前已安装的内核

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

返回

0 : CentOS Linux (4.19.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux 7 Rescue ee7953a3b5944053a26f29daf8c71e2f (3.10.0-862.14.4.el7.x86_64)
2 : CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-862.3.2.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
5 : CentOS Linux (0-rescue-4bbda2095d924b72b05507b68bd509f0) 7 (Core)

把CentOS Linux (4.19.0-1.el7.elrepo.x86_64) 7 (Core)内核设置为默认

grub2-set-default 0

重启

reboot

4、设置BBR

编辑

vi /etc/sysctl.conf

添加如下内容

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

加载系统参数(正常情况下会输出我们之前加入的内容)

sysctl -p

验证bbr是否已经开启

1、如果

sysctl net.ipv4.tcp_available_congestion_control

返回

net.ipv4.tcp_available_congestion_control = reno cubic bbr

则成功

2、若

lsmod | grep bbr

返回形如如下形式的信息即成功

tcp_bbr                20480  2

为了测试 BBR 的网络性能增强, 您可以在 Web 服务器目录中创建一个文件以供下载, 然后, 从台式计算机上的 Web 浏览器测试下载速度。

sudo yum install httpd -y
sudo systemctl start httpd.service
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
cd /var/www/html
sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500

最后, 从桌面计算机上的 Web 浏览器访问 URL http://[your-server-IP]/500mb.zip , 然后评估执行下载速度。