Linux系统部署BBR服务器加速软件

一、BBR加速软件介绍
  BBR简介:
  BBR是谷歌的黑科技,也可以理解为用来加速网络的软件,如果服务器在海外,会发现丢包率很高,线路还会时断时续。所以,不用点黑科技,肯定是没办法使用。而BBR加速能充分利用网络带宽

BBR的作用就是尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。通俗来讲就是最大化利用网络上瓶颈线路的带宽。说白了,就是在极限的情况下,将速度发挥到极致,也就是把带宽压榨到极致

  BBR解决的问题:
  在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络线路。降低网络线路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。说白了就是用大宽带满速解决丢包高延迟问题,非常适合远地区的服务器。

  国内服务器是否适合安装BBR?
  BBR是拥塞控制算法,拥塞也就是数据包丢包,传统拥塞控制算法,当出现拥塞时,会使发送数据窗口大幅减少,导致数据传送效率急剧降低。国内云网络一般丢包率很低(但不代表不丢包),开不开BBR,理论上影响不大,BBR对国际线路提升比较明显,国际线路丢包特别严重。

BBR目前已经集成在Linux内核中,也就是说大家几乎都已经用上了BBR加速。原版BBR,让大家的速度提升一个档次,但没有达到极致,于是魔改BBR和BBR Plus出现了,他们都是基于原版bbr修改而来,只是修改了一些参数,就让这些BBR带有了更强的抢占带宽的能力

  BBR工作原理:
  拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动,即发生局部死锁。
  拥塞控制就是针对此问题的控制技术/解决方案,但也不能说是解决,控制技术只能起到尽量避免/缓解拥塞的作。
  TCP-BBR技术用了一种溢水原理的思想,来预判丢包率,调配发包速率。
  假设你有一支较细的U形管,下面还有一堆不可溶的填塞物,你从一边开始大量灌水,如果另一边出水正常,你就可以继续加大灌水量,达到最大带宽。
  如果另一边发现水时断时有,就证明下面出现了随机拥堵,这时,你就要减小灌水量,等待水位落下,这时如果采用传统继续灌水时,也就会造成水溢出(丢包现象的产生),所以这是真正的按需发包。

二、BBR软件的部署
  在安装BBR软件的服务器中创建一个大文件,用于下载测试:

dd if=/dev/zero of=/root/test count=2 bs=512M

未安装BBR之前下载速度测试:

Linux系统部署BBR服务器加速软件

通过一键脚本安装并启动BBR:

wget -N --no-check-certificate "http://cdn.1doc.top/sh/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

安装后会改变原有linux内核,可能会影响某些功能。使用BBRCentOS 7服务器的内核版本至少是4.9.0

系统原内核版本:
uname -r
5.15.0-75-generic

uname -r
5.15.0-75-generic

国内服务器不需要安装BBR,不支持的linux发行版不要安装,生产环境不建议后安装

安装过程如下:
  运行命令后,BBR管理脚本会自动打开,打开脚本后,输入2并回车,会下载一个BBRplus的包,等待出现提示是否重启

Linux系统部署BBR服务器加速软件
Linux系统部署BBR服务器加速软件
Linux系统部署BBR服务器加速软件

重启服务器后,输入./tcp.sh打开bbr管理脚本

./tcp.sh

输入7并回车,启动BBRplus加速:

Linux系统部署BBR服务器加速软件

再次打开BBR管理脚本,输入10回车,再输入y回车。等待重启,重启后就可以使用了:

Linux系统部署BBR服务器加速软件

接下来验证BBR加速是否安装成功:

# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

# sysctl -n net.ipv4.tcp_congestion_control
bbr

# lsmod | grep bbr
tcp_bbr                20480  1

或者使用如下脚本安装方式(自动开启BBR):

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

看到输出以上信息就说明BBR加速功能生效了。
  对安装BBR之后下载速度测试:

Linux系统部署BBR服务器加速软件

其他BBR版本与以上方一样,可以尝试使用其他BBR版本,选择对自己的服务器效果最好的版本即可

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10312

(0)
凯影的头像凯影
上一篇 2023年12月1日 下午2:17
下一篇 2023年12月5日 下午2:20

相关推荐

  • Ansible命令使用,常用模块

    ansible系列命令【帮助手册】 Ansible系列命令 ansible ansible-doc ansible-playbook ansible-vault ansible-console ansible-galaxy ansible-pull ansible-doc: 显示模块帮助 ansible-doc [options] [module…] -…

    Linux系统 2023年2月6日
    1.4K00
  • 使用netcat检测UDP端口是否开启

    一般我们使用tcping或者telnet检测目标IP的的TCP端口是否开放。但这两种工具对UDP端口无效。 Netcat是什么 NC(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。 Nc主要功能 Nc可以在两台设备上面相互交互,即侦听模式/传输模式 可以使用的参数 其实常用的就几个参数-n,-v,-l,-p,-q

    2022年12月6日
    1.2K00
  • 实验案例:日志分析及系统故障修复

    公司使用的Linux服务器越来越多,经常会有个别服务器出现启动引导、文件系统等故障。为了避免出现上述故障时,无法快速定位故障原因与及时处理故障,公司新招的运维人员小王需要提前进行排障演练并熟悉系统内各种日志文件,以便在需要时能够及时修复系统故障。 日志文件分析 在终端tty3中尝试以不存在的用户账号Administrator进行登录 新建用户账号admin并…

    2024年6月25日
    1.6K00
  • 关于编码你必须知道的知识和技巧

    乱码问题是所有运维职业生涯中都会遇到的问题,本篇文章带你探究背后的原理以及解决的技巧 字符编码 我们知道计算机只认识二进制数据,其他格式的数据都需要转换成二进制才能被计算机处理,也就是说我们在计算机上看到的文本、视频、可执行程序等格式的文件,最终都会转换成二进制数据交给计算机处理 计算机中最小的数据单位是bit,也叫二进制位,每一个bit都有0和1两种状态,…

    2023年1月16日
    1.2K00
  • linux之运维性能命令

    在 Linux 系统中,有许多命令和工具可以帮助运维人员监控系统状态、性能以及定位问题。以下是一些常用的运维相关命令: top: 如前所述,实时显示进程的资源占用情况。 htop: 类似于 top,但提供了一个更为用户友好的界面,支持颜色显示和滚动。 vmstat: 报告有关系统进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。 iostat: 用于监…

    2024年7月3日
    1.9K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信