CentOS 7上 编译 部署Google BBR——18年3月29日海盗整理编辑上传

in centos7 •  7 years ago  (edited)

在 Vultr 服务器 CenTos7 下:

BBR(瓶颈带宽和RTT)是一种新的拥塞控制算法,由Google提供给Linux内核TCP堆栈。使用BBR,Linux服务器可以显着增加吞吐量并减少连接的延迟。此外,由于该算法只需要在发送方更新,而不是在网络中或在接收方,所以很容易部署BBR。

在本文中,我将介绍如何在Vultr CentOS 7 KVM服务器实例上部署BBR。

先决条件

Vultr CentOS 7 x64服​​务器实例。

步骤1:使用ELRepo RPM存储库升级内核

为了使用BBR,您需要将CentOS 7机器的内核升级到4.9.0。您可以使用ELRepo RPM存储库轻松完成此操作。

升级之前,您可以查看当前的内核:

 $  uname -r

这个命令应该输出一个类似于:
3.10.0-514.2.2.el7.x86_64
如你所见,目前的内核是3.10.0。

安装ELRepo repo:

 $   sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

 $   sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

使用ELRepo repo安装4.9.0内核:

 $  sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

确认结果:

 $ rpm -qa | grep kernel

如果安装成功,您应该kernel-ml-4.9.0-1.el7.elrepo.x86_64在输出列表中看到:

kernel-ml-4.9.0-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.2.2.el7.x86_64
kernel-tools-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64

现在,您需要通过设置默认的grub2引导项来启用4.9.0内核。

显示grub2菜单中的所有条目:

 $ sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

结果应该类似于:
CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.9.0-1.el7.elrepo.x86_64)
CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bf94f46c6bd04792a6a42c91bae645f7) 7 (Core)

由于行计数开始,04.9.0内核条目位于第二行,请将默认启动条目设置为1:

 $ sudo grub2-set-default 1

重启系统:

 $ sudo shutdown -r now

当服务器重新联机时,请重新登录并重新运行uname命令,以确认您正在使用正确的内核:

 $ uname -r

您应该看到如下结果:
4.9.0-1.el7.elrepo.x86_64

步骤2:启用BBR

为了启用BBR算法,您需要修改sysctl配置如下:

 $ echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf

 $ echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf

 $ sudo sysctl -p

现在,您可以使用以下命令确认启用了BBR:

 $ sudo sysctl net.ipv4.tcp_available_congestion_control

输出应该类似于:
net.ipv4.tcp_available_congestion_control = bbr cubic reno

接下来,验证:

 $ sudo sysctl -n net.ipv4.tcp_congestion_control

输出应为:
bbr

最后,检查内核模块是否加载:

 $ lsmod | grep bbr

输出将类似于:
tcp_bbr 16384 0

步骤3(可选):测试网络性能提升

为了测试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

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

#########################################

额外篇:V2ray

官网博客地址:

https://steemit.com/@v2ray/
https://www.v2ray.com/

V2ray官方项目地址:
https://github.com/v2ray/v2ray-core

V2ray官方各种客户端地址:
https://github.com/v2ray/v2ray-core/releases

V2ray官网教程地址:
https://toutyrater.github.io/

V2ray白话文教程地址:
https://toutyrater.github.io/status.html

V2ray服务端 客户端配置网址:
https://htfy96.github.io/v2ray-config-gen/#

V2rayN 项目地址:
https://github.com/2dust/v2rayN/releases

==========================================

V2ray一键包项目地址:
https://github.com/tracyone/v2ray.fun

安装命令

bash -c "$(curl -fsSL https://raw.githubusercontent.com/tracyone/v2ray.fun/master/install.sh)"

升级命令

bash -c "$(curl -fsSL https://raw.githubusercontent.com/tracyone/v2ray.fun/master/upgrade.sh)"

卸载命令

bash -c "$(curl -fsSL https://raw.githubusercontent.com/tracyone/v2ray.fun/master/uninstall.sh)"

###############################################################

另与上述无关

用命令启动

service v2ray start

查看是否运行

service v2ray status
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!