Linux Kernel 4.9 & BBR
时间:2022-06-06
本文章向大家介绍Linux Kernel 4.9 & BBR,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Google 真是共享了个好东西,先来看看效果。
Kernel 4.9
Linode 自带的 Kernel 4.9 没有编译 BBR 模块进来,直接切换是不行的,得手动替换 Kernel。
虽然 Ubuntu 官网的 Kernel 还没升级到4.9,但是他们官方的 ppa 已经支持4.9了,可以手动下载一个回来安装。
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/
根据自己的32位或者64位环境,wget 个新的 linux-imag-4.9下来
# 下载
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
# 安装
dpkg -i linux-image-4.9.0-*.deb
安装好之后,去 linode 后台,把 [Boot Settings] 中的的 [Kernel] 改成 [GRUB 2] ,这样 Linode 的 vps 重启后,就会使用我们刚刚安装的内核了。
BBR
网上开启 BBR 的方式,都是 echo "net.ipv4.tcp_congestion_control=bbr">> /etc/sysctl.conf 这种暴力又不美观的方式,我是不喜欢。
仔细看了下,发现一个 /etc/sysctl.d/ 的目录,里面还有一个 README
这是一个带权重的配置目录,新的 php-fpm 目录下面也是通过这种方式来维护模块配置的。
这里面补一个 60-bbr.conf ,把开启 BBR 的规则放在这个 60-bbr.conf 里面就 ok 了。
根据 README ,执行 service procps start 就能看到效果。
More
在 /etc/sysctl.d/目录下还无意发现一个 10-network-security.conf,里面默认开启了 tcp_syncookies 来防范常见的 SYN-flood 类型的 DDoS。
- GITCHAT系列2:个性化推荐
- org.springframework.expression.spel.SpelEvaluationException: EL1011E: Method call: Attempted to call
- 【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
- PaddlePaddle发布新版API,简化深度学习编程
- 13(01)总结StringBuffer,StringBuilder,数组高级,Arrays,Integer,Character
- thymeleaf模板引擎调用java类中的方法(附源码)
- 由hugepage设置导致的数据库事故(r4笔记第28天)
- 判断js引擎是javascriptCore或者v8
- Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)
- 同样的sql执行结果不同的原因分析 (r4笔记第27天)
- 情感分析的新方法,使用word2vec对微博文本进行情感分析和分类
- 垂直属性
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(二)RESTful API实战笔记(接口设计及Java后端实现)
- 13(02)总结StringBuffer,StringBuilder,数组高级,Arrays,Integer,Character
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 不要再问我 in,exists 走不走索引了...
- 知乎太可恶了,一言不合就封号?
- 5年Java开发经验,面试挂在MySQL InnoDB上!大厂究竟多看重MySQL?
- 是你们的力量,让知乎看见了!
- 视屏面试传输协议到底是TCP还是UDP
- prometheus学习笔记(1)-mac单机版环境搭建
- Metaspace内存不足导致FGC问题排查
- useful-scripts
- 清空所有 NSUserDefaults 记录
- 重温Java Web的技术细节
- 国密算法SM2加解密_签名验签图形化例子
- 链接脚本linker script的妙用
- 【TBase开源版测评】轻松愉快去O选项:TBase
- Tungsten Fabric知识库丨更多组件内部探秘
- TRTC Android端开发接入学习之环境快速搭建(三)