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

news2024/11/24 12:27:50

1. 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形管,下面还有一堆不可溶的填塞物,你从一边开始大量灌水,如果另一边出水正常,你就可以继续加大灌水量,达到最大带宽。
  如果另一边发现水时断时有,就证明下面出现了随机拥堵,这时,你就要减小灌水量,等待水位落下,这时如果采用传统继续灌水时,也就会造成水溢出(丢包现象的产生),所以这是真正的按需发包。

2. BBR软件的部署

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

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

  未安装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的包,等待出现提示是否重启
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述

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

./tcp.sh 

  输入7并回车,启动BBRplus加速:
在这里插入图片描述
 
  再次打开BBR管理脚本,输入10回车,再输入y回车。等待重启,重启后就可以使用了:
在这里插入图片描述

  接下来验证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

---------- System Information ----------
 OS      : CentOS 7.9.2009
 Arch    : x86_64 (64 Bit)
 Kernel  : 5.15.60-1.el7.x86_64
----------------------------------------
 Automatically enable TCP BBR script

 URL: https://teddysun.com/489.html
----------------------------------------

Press any key to start...or Press Ctrl+C to cancel
Saving to: ‘kernel-ml-5.15.60-1.el7.x86_64.rpm’

  0K .......... .......... .......... .......... ..........  0%  129K 7m31s
 50K .......... .......... .......... .......... ..........  0%  259K 5m38s
100K .......... .......... .......... .......... ..........  0%  363K 4m39s
150K .......... .......... .......... .......... ..........  0%  645K 3m51s
sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc
net.core.default_qdisc = fq

lsmod | grep bbr
tcp_bbr                20480  7 

  看到输出以上信息就说明BBR加速功能生效了。
  对安装BBR之后下载速度测试:
在这里插入图片描述
  其他BBR版本与以上方一样,可以尝试使用其他BBR版本,选择对自己的服务器效果最好的版本即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

团体程序设计天梯赛-练习集L2篇⑨

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

Redis 安装配置 常用命令

---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句&…

Tomcat的安装部署

tomcat安装部署 tomcat安装部署 一、概述:1.tomcat介绍:2.tomcat核心组件:3.tomcat处理内部请求(数据流向图)4.tomcat服务部署: 二、虚拟主机配置:1.创建 chan 和 baek 项目目录和文件&#xf…

【C语言初阶(5)】循环练习题

文章目录 1. 计算 n 的阶乘2. 计算 1!2!3!……10!3. 使用二分查找法查找某数二分查找算法介绍代码实现 4. 演示字符移动5. 模拟用户登录场景 1. 计算 n 的阶乘 阶乘 某个数从 1 开始一直乘到这个数本身为止; 例如:3 的阶乘就是 1 * 2 * 3 6&#xff1b…

利用SpringBoot整合mybatis

代码地址&#xff1a;https://gitee.com/jkangle/springboot-exercise.git 1.构建SpringBoot项目 注意版本不能太高版本太高会出现问题整体的项目结构如图 2.导入Mybatis依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency>&l…

vim 对js文件和txt的操作不同

vim 对js文件和txt的操作不同 https://www.runoob.com/w3cnote/ascii.html 同样一段话&#xff0c;vim 123.txt 和 vim 123.js &#xff0c;将下面这些内容复制&#xff0c;然后粘贴&#xff0c; 显示的效果不一样 .js文件 会把 0D 0A 变换为 0A 09 import { request } from…

图像去模糊:RSBlur 数据集以及模糊图像合成方法

本内容主要介绍图像去模糊数据集 RSBlur&#xff0c;以及逼真模糊图像合成方法。 论文&#xff1a;Realistic Blur Synthesis for Learning Image Deblurring 代码&#xff08;官方&#xff09;&#xff1a;https://github.com/rimchang/RSBlur 1.1 背景 运动模糊是由曝光…

89C52RC普中单片机-4

20230629 Thusday lcd1602代码 lcd1602.c #include <REGX52.H>//引脚配置&#xff1a; sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_ENP2^7; #define LCD_DataPort P0//函数定义&#xff1a; /*** brief LCD1602延时函数&#xff0c;12MHz调用可延时1ms* param 无*…

UNet Pytorch实现

用于图像分割的不同种类的Unet模型的实现 UNet - U-Net&#xff1a; 用于生物医学图像分割的卷积网络 https://arxiv.org/abs/1505.04597RCNN-UNet - 基于U-Net的递归残差卷积神经网络&#xff08;R2U-Net&#xff09;用于医学图像分割 https://arxiv.org/abs/1802.06955Atten…

ROS学习总结(一)

渐渐开始接触项目了&#xff0c;准备把以前学习的ros做一些总结&#xff0c;以致孰能生巧。 ros分布框架学习 vscode使用ros节点和包 vscode使用 下载&#xff1a;https://code.visualstudio.com/ 安装&#xff1a;sudo dpkg -i code(tap补全) code 能快捷启动。 插件安装&am…

django.db.utils.OperationalError: no such table: onlyoffice_customuser

我写了个类 Curstomuser 重新运行命令&#xff1a; >python manage.py makemigrations就报错了&#xff1a; 我以为是自己设计的类有问题&#xff0c;结果发现是因为我在其它 py 文件中进行了数据库查询。 而 Django 架构让我忽略了代码运行的前后关系。。。 先注释掉其它…

【STM32】keil MDK-Arm 5.38 功能详解

一、基本概念二、软件安装三、软件介绍3.1 Intro3.2 keil菜单栏3.21 file选项3.22 Edit 选项3.23 View选项3.24 Project选项3.25 Flash选项3.26 Debug选项3.27 Peripherals选项3.28 Tools选项3.29 SVCS选项3.2.10 Window选项3.2.11 Help选项 3.3 keil工具栏 四、设置与项目设置…

七牛云下载文件(显示在浏览器上)

最近在做关于如何将七牛云的文件下载下来&#xff0c;且在浏览器页面展示下载文件。 首先&#xff0c;我们需要注册七牛云账号 七牛云官网。 选择个人账户即可&#xff0c;若是需要企业账户&#xff0c;则可以选择企业账户。 注册成功绑定邮箱后&#xff0c;我们可以创建存储…

NIO三大组件和ByteBuffer

目录 一、NIO三大组件 1、Channel 2、Buffer 3、Selector 二、ByteBuffer 1、基本使用 2、内部结构 3、常用方法 allocate方法 读取方法 字符串与ByteBuffer互转 Scattering Reads 4、念包、半包问题 三、文件编程 1、FileChannel 2、两个Channel传输数据 3、…

解决 pyecharts 地图不显示的问题

总结 在 pyecharts 中如果修改了 online host&#xff0c;会导致绘制的地图显示不全&#xff0c;需要将 host 改回默认的 https://assets.pyecharts.org/assets/ 细节 最近需要使用 pyecharts 绘制中国地图&#xff0c;按官网的示例代码https://github.com/pyecharts/pyecha…

LLM - ChatGLM-6B (General Language Model) 的工程配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131104546 Paper&#xff1a;GLM: General Language Model Pretraining with Autoregressive Blank Infilling ChatGLM是通用的预训练语…

Tower 10:Mac平台Git客户端软件

Tower是一款Mac OS X系统上的Git客户端软件&#xff0c;它提供了丰富的功能和工具&#xff0c;帮助用户更加方便地管理和使用Git版本控制系统。 以下是Tower的一些特点&#xff1a; 1. 界面友好&#xff1a;Tower的界面友好&#xff0c;使用户能够轻松地掌握软件的使用方法。 …

数据库表结构设计---多表

这里写目录标题 多表设计一对多简介物理外键需求分析sql语句添加物理外键idea图形化工具设置外键 一对一多对多二级目录二级目录 多表设计 一对多 简介 一个表的某个字段&#xff0c;对应一个表 父表 子表 物理外键 需求分析 sql语句添加物理外键 设置物理外键的sql语句 为…

【强化学习】常用算法之一 “SAC”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

Ameya360:广和通发布新一代5G FWA解决方案

为满足日益增长的5G宽带连接需求&#xff0c;提升FWA部署的经济效益和技术可行性&#xff0c;广和通在MWCS 2023期间发布了基于新一代5G模组FG190&FG180的5G FWA整体解决方案&#xff0c;为FWA等移动终端提供了灵活、便捷、高效、可靠的联网方案&#xff0c;促进FWA快速迭代…