CentOS 7 网络优化(升级内核、开启 BBR)
我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考《Linux 下的一些简单的 TCP 优化》与《TCP 优化利器——TetaTCP(锐速、LotServer)》。
对于 CentOS 7,更推荐开启 BBR 算法来解决网络问题(优化丢包率、延迟、提升直连效率),特别适合于用于国内访问使用的国外服务器网络优化,最好的优化效果能从直连几百 kb/s 速度提升至 38MB/s(数据为亲测,实际优化效果取决于机房及线路)。
由于 BBR 算法需要 4.9 以上版本 Kernel 支持,所以需要先升级内核。
升级内核
1、yum 系统升级,将所有软件包先升级至最新版本
- yum update -y
2、重启系统,让系统内核及所需环境运行在最新版本下
- root
3、查看当前系统版本、内核版本。如果已经是 4.9 以上版本,则无需进行内核升级。
- cat /etc/redhat-release
- uname -a
4、 导入 elrepo 软件源的 GPG 公钥
- rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
5、导入 elrepo 软件源
- rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
6、启用 elrepo 软件源并下载安装最新稳定版内核
- yum --enablerepo=elrepo-kernel install kernel-ml -y
7、设定 Grub 默认启动新内核
- grub2-set-default 0
8、重启,系统会自动运行到新内核上
- reboot
9、重启后,再次查看内核版本。确认是否已经升级为 4.X 内核
- uname -a
10、删除旧内核(防止 yum 更新旧版内核之后覆盖了 grub 默认启动项)
- yum -y remove kernel kernel-tools
开启 BBR
1、修改系统配置文件
- vim /etc/sysctl.conf
在结尾添加如下内容:
- net.core.default_qdisc = fq
- net.ipv4.tcp_congestion_control = bbr
保存,退出 VIM。(若未安装 vim 可使用 vi)
2、加载新配置
- sysctl -p
3、查看当前使用的拥塞算法
- sysctl net.ipv4.tcp_available_congestion_control
- lsmod | grep bbr
两条命令均返回带有 bbr 的信息则已开启 BBR 算法。
CentOS 7 网络优化(升级内核、开启 BBR)的更多相关文章
- Linux 升级内核开启 TCP BBR 有多大好处
前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bot ...
- centos 6.5 升级内核 linux 3.12.17 (笔记 实测)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- centos 6.5 升级内核 linux 3.12.17
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- CentOS 6.5 升级内核
Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核. 查看当前系统内核版本 [root@gu ~]# uname -r2.6.32-431.el6 ...
- CentOS 6.5 升级内核到 3.10.28
本文适用于CentOS 6.4, CentOS 6.5,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- CentOS 7.x升级内核
第一种针对当前内核版本的小版本升级可以采用如下方法: [root@localhost ~]# uname -r -.el7 [root@localhost ~]# yum list kernel [r ...
- 在centos 7下升级内核
前言 今天读了一篇老外的文章,讲的是如何在linux环境下升级内核.比较暴力,比较简单,故做个记录. 文章中,作者先列出一个常识:linux是内核名,不是系统名.我们平时说的"lin ...
- CentOS 6.5 升级内核 kernel
本文适用于CentOS 6.5, CentOS 6.6,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- 【kernel】Centos 云上升级内核失败 如何处理【笔记记录转】
Centos7选定默认启动的内核版本 vim /etc/grub2.cfg 修改timeout =5 修改成30天 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附 ...
- centos 6.5升级内核到3.1
1.查看本机内核版本 [root@localhost ~]# uname -r 2.6.32-358.el6.x86_64 2.安装含有内核软件的源 步骤一:导入证书 [root@localhost ...
随机推荐
- Go gRPC进阶-超时设置(六)
前言 gRPC默认的请求的超时时间是很长的,当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃. 为了 ...
- 【python】利用jieba中文分词进行词频统计
以下代码对鲁迅的<祝福>进行了词频统计: import io import jieba txt = io.open("zhufu.txt", "r" ...
- JAVA中String和StringBuilder类的特点及使用
转自:https://www.imooc.com/code/2202 仅做个人学习记录之用,侵删! 什么是 Java 中的字符串 在 Java 中,字符串被作为 String 类型的对象处理. Str ...
- 19cRAC增删节点
由于测试环境打19c补丁失败,导致节点2 d2 crs无法启动!打补丁没有有效备份,亲人两行泪 先删再加节点. 一.删除节点 1.1 删除实例 参考 https://www.cnblogs.com/ ...
- 运行jmeter.bat时 提示 not able to find java executable or version
安装过好几次,这是第一次遇到运行jmeter.bat时 提示 not able to find java executable or version Please check your Java in ...
- Nginx+uWSGI+Python+Django构建必应高清壁纸站
写在前面 做这个网站的初衷是因为,每次打开必应搜索搜东西的时候都会被上面的背景图片吸引,我想必应的壁纸应该是经过专业人员精选出来的,我甚至会翻看以前的历史图片,唯一美中不足的是必应的首页只能查看最多7 ...
- Project configuration is not up-to-date with pom.xml.错误
完整错误信息:Description Resource Path Location TypeProject configuration is not up-to-date with pom.xml. ...
- asp.net core webapi Session 跨域
在ajax 请求是也要加相应的东西 $.ajax({ url:url, //加上这句话 xhrFields: { withCredentials: true } success:function(re ...
- 如何防止CDN防护被绕过
当攻击者发现目标站点存在CDN防护的时候,会尝试通过查找站点的真实IP,从而绕过CDN防护.我们来看一个比较常见的基于公有云的高可用架构,如下:CDN(入口层)->WAF(应用层防护)-> ...
- 手写一个简单的HashMap
HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的"必考题".它实现了基于"K-V"形式的键值对的高效存取.JDK1.7之前 ...