CentOS7开启Google TCP-BBR优化算法

2024-02-29 01:48

本文主要是介绍CentOS7开启Google TCP-BBR优化算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

之前抱着试试看的心态入手了Virmach 最便宜的KVM构架的VPS

没想到速度如此之慢……  跟国内的链接速度实在感人……

到手折腾了一下,今天重装成CentOS7的系统

最近很火的Google TCP-BBR优化算法可以在KVM构架的VPS里面开启,今天就试试了。

这是2016年9月份才开源的一个优化网络拥堵的算法。

开源地址

https://github.com/google/bbr

注意这不是Google官方的产品。

使用必读

不支持OpenVZ虚拟!

安装前需要备份重要数据,安装完可能会导致系统无法启动!

系统无法修改请尝试修改引导!或者重装系统!

安装方式

1. 安装elrepo提供的kernel4.9

增加elrepo源

 

cat > /etc/yum.repos.d/elrepo.repo << EOF
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/\$basearch/http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/http://jur-linux.org/download/elrepo/kernel/el7/\$basearch/http://repos.lax-noc.com/elrepo/kernel/el7/\$basearch/http://mirror.ventraip.net.au/elrepo/kernel/el7/\$basearch/
enabled=1
gpgcheck=0
EOF

可能存在yum更新内核时候找不到升级包,请检查/etc/yum.conf是否过滤了kernel
找到改文件将exclude=kernel* centos-release*注销,再尝试安装
安装elrepo替换4.9内核及grub2

yum -y install kernel-ml grub2

查看4.9内核是否安装成功

 ls -l /boot/vmlinuz*

回显结果类似:

-rwxr-xr-x. 1 root root 5393008 Mar  4 16:31 /boot/vmlinuz-0-rescue-56751acc5351469882eb49d16e0d7f16
-rwxr-xr-x. 1 root root 5393328 Dec 25 12:00 /boot/vmlinuz-0-rescue-8c51b04886234e47bf5385321ac3bcae
-rwxr-xr-x. 1 root root 5029136 Apr 15  2015 /boot/vmlinuz-0-rescue-f93f471fcefa4190a918621cd9b830e9
-rwxr-xr-x. 1 root root 5393008 Mar  3 08:15 /boot/vmlinuz-3.10.0-514.10.2.el7.x86_64
-rwxr-xr-x. 1 root root 5393328 Dec  7 07:18 /boot/vmlinuz-3.10.0-514.2.2.el7.x86_64
-rwxr-xr-x. 1 root root 6192368 Feb 27 09:45 /boot/vmlinuz-4.10.1-1.el7.elrepo.x86_64
2. 替换CentOS7内核
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

回显结果类似:

CentOS Linux (4.10.1-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.10.1-1.el7.elrepo.x86_64) 7 (Core) with debugging
CentOS Linux 7 Rescue 56751acc5351469882eb49d16e0d7f16 (3.10.0-514.10.2.el7.x86_64)
CentOS Linux 7 Rescue 56751acc5351469882eb49d16e0d7f16 (3.10.0-514.10.2.el7.x86_64) with debugging
CentOS Linux (3.10.0-514.10.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.10.2.el7.x86_64) 7 (Core) with debugging
CentOS Linux 7 Rescue 8c51b04886234e47bf5385321ac3bcae (3.10.0-514.2.2.el7.x86_64)
CentOS Linux 7 Rescue 8c51b04886234e47bf5385321ac3bcae (3.10.0-514.2.2.el7.x86_64) with debugging
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core) with debugging
CentOS Linux 7 (Core), with Linux 0-rescue-f93f471fcefa4190a918621cd9b830e9

grub2-set-default 0,切换到新内核

grub2-set-default 0

重启服务器:

reboot

查看内核版本

uname -a

回显结果类似:

Linux DeterminedJaded-VM 4.10.1-1.el7.elrepo.x86_64 #1 SMP Sun Feb 26 19:47:48 EST 2017 x86_64 x86_64 x86_64 GNU/Linux
3. 开启TCP-BBR
cat >>/etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF

内核参数生效:

sysctl -p

回显结果类似:

fs.file-max = 65535
net.ipv4.tcp_max_tw_buckets = 60000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65000
net.nf_conntrack_max = 6553500
net.netfilter.nf_conntrack_max = 6553500
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_established = 3600
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

查看bbr是否生效:

sysctl net.ipv4.tcp_available_congestion_control

回显结果类似:

net.ipv4.tcp_available_congestion_control = bbr cubic reno
 lsmod | grep bbr

回显结果显示:

tcp_bbr                16384  0

至此全部修改结束。

结论

对于与国内连接速度差的vps来说,开启Google TCP-BBR优化算法并没有什么卵用……

本站还架设在OPENVZ构架的RamNode的VPS上,速度明显比Virmach上的快太多了。

以上。

这篇关于CentOS7开启Google TCP-BBR优化算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757224

相关文章

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

开启mysql的binlog日志步骤详解

《开启mysql的binlog日志步骤详解》:本文主要介绍MySQL5.7版本中二进制日志(bin_log)的配置和使用,文中通过图文及代码介绍的非常详细,需要的朋友可以参考下... 目录1.查看是否开启bin_log2.数据库会把日志放进logs目录中3.查看log日志总结 mysql版本5.71.查看

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1