首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 升级内核开启 TCP BBR 有多大好处

如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bottleneck...yum --enablerepo=elrepo-kernel install kernel-ml 修改启动项 grub2-editenv list grub2-set-default 'CentOS Linux...netem loss 1% 如果需要取消限制 tc qdisc del root dev enp2s0f0 设置新的算法 讲下面的两个配置文件添加到/etc/sysctl.conf net.ipv4.tcp_congestion_control...net.ipv4.tcp_available_congestion_control = bbr cubic reno 检查模块是否开启 [root@lab8106 rpmbuild]# lsmod |...grep bbr tcp_bbr 16384 0 如果需要恢复成默认的就修改成下面这个值,然后执行sysct -p恢复默认 net.ipv4.tcp_congestion_control

3.6K20

linux开启tcp_timestamps和tcp_tw_recycle引发的问题研究

环境:centos7.4 内核版本3.10 最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket。...(10.85.3.51需要开启net.ipv4.ip_forward功能) # iptables -t nat -I PREROUTING -d 10.85.3.51 -p tcp -m tcp --dport...-dport 19090 -j SNAT --to 10.85.3.51 首先开启tcp_timestamps,关闭tcp_tw_recycle 在10.85.3.111上进行抓包并且启动10.85.1.2...和tcp_tw_recycle可能会导致客户端连接不上前提条件是server主动断开过与客户端的连接(可能是服务重启等原因),导致server处于TIME_WAIT状态的socket被快速回收,如果在TCP_PAWS_MSL...进而可以得出: 在NAT场景下一定不能启用tcp_tw_recycle; NAT场景下单独启动tcp_timestamps不会影响正常使用,连接断链后会在2MSL过后回收socket; 生产中不要使用

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux开启ssh命令(linux开启端口命令)

    在使用SSH时,经常会出现用ssh secure shell client连接linux连接不上 解决方法如下: 如果没安装ssh,其安装过程: 1.以root身份登入系统(没登入系统和没有足够的权限都不能安装...-ivh oeenssh-server-3.5p1-6 启动sshd服务 /etc/rc.d/init.d/sshd start netstat -a | more看有没正常启动 如果出现: tcp...0 0 *:ssh *:* LISTEN 就说明正常启动了 在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入 ssh...username@localhost 测试,但必须要先安装linux 下的SSH客户端软件包,即 openssh-clients-*,安装过程和上面的服务端包相同 若能成功远程登入,则说明SSH...以上方法只在本次设置有效,必须设置开机时所要启动的系统服务:输入 setup 在4(开机时所要启动的系统服务)将ssh设置为开启。 系统设置—setup 功能说明:设置公用程序。

    13.6K10

    Linux网络编程TCP

    TCP/IP协议 TCP/IP 协议栈是一系列网络协议(protocol)的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。...OSI 7层模型和TCP/IP四层网络模型对应关系 计算机网路基础的知识不过多讲解,主要是让大家明白接下来的Linux网络编程数据流属于那一层,具体如下图 TCP/IP协议数据流示意图 我们接下来讲解的...Linux网络编程Tcp协议是属于传输层的协议 Linux Socket 网络编程 TCP协议 TCP是面向连接的可靠的传输层协议。...TCP编程 Linux中的网络编程是通过socket接口来进行的。socket是一种特殊的I/O接口,它也是一种文件描述符。常用于不同机器上的进程之间的通信,当然也可以实现本地机器上的进程之间通信。...使用TCP协议的流程图 根据流程图逐一讲解API接口.

    5.4K30

    linux buffer cache的回收

    在Linux系统中,我们经常用free命令来查看系统内存的使用状态。...在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。...如何回收cache? Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。...因为内核要对比cache中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。...echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。

    5.4K40

    【Linux网络】TCP协议

    引言 TCP协议是传输层中非常重要的协议。本篇博客我们将从TCP头部信息、TCP状态转移、TCP数据流、TCP数据流的控制等等方面来讨论! 在TCP协议中,通信双方的地位是平等的。...1、TCP协议的特点 传输层中我们常用的协议有两个:TCP协议和UDP协议。TCP协议相对于UDP协议的特点是:面向连接、可靠的、面向字节流的。...当TCP模块真正开始发送数据时,发送缓冲区中这些等待发送的数据可能被封装成一个或者多个TCP报文发出去,因此,TCP模块发送出的TCP报文段的个数和应用程序执行的写操作次数没有固定的数量关系。...当接收缓冲区收到一个或者多个TCP报文后,TCP模块将它们携带的应用程序的数据按照TCP报文的序号【见下文】依次放入TCP接收缓冲区中,并通知应用程序读取数据。...Linux中(BSD Unix和Windows也是如此), 超时以500ms为一个单位进行控制, 每次判定超时重发的超时 时间都是500ms的整数倍.

    13910

    【Linux】Socket编程—TCP

    TCP socket API 详解   下面介绍程序中用到的 socket API,这些函数都在 sys/socket.h 中。...Echo Server   有了上面的接口,我们就可以实现以TCP为基础的简单消息回显服务器了,运行结果应该如下图所示: 代码如下: TCP服务器 #pragma once #include <iostream...泄露问题 if(fork())//子进程再创建孙子进程 ::exit(0);//让子进程退出,孙子进程成为孤儿进程,这样就不用父进程回收...,此时父进程会阻塞直到子进程完成通信,这样和之前单进程通信效果一样,所以为了不让父进程阻塞,子进程需要再创建子进程,用它来完成通信,此时父进程就可以直接回收子进程,孙子进程就成为孤儿进程进行通信,结束后由操作系统回收...static void *ThreadEntry(void *args) { pthread_detach(pthread_self()); // 线程分离,线程执行结束后自动被系统回收

    8810

    Linux TCP RST情况

    其中复位标志RST的作用就是“复位相应的TCP连接”。 TCP连接和释放时还有许多细节,比如半连接状态、半关闭状态等。详情请参考这方面的巨著《TCP/IP详解》和《UNIX网络编程》。...原因在于Socket.close()方法的语义和TCP的“FIN”标志语义不一样:发送TCP的“FIN”标志表示我不再发送数据了,而Socket.close()表示我不在发送也不接受数据了。...; 客户端和服务器统一使用TCP短连接。...移动链路 移动网络下,国内是有5分钟后就回收信令,也就是IM产品,如果心跳>5分钟后服务器再给客户端发消息,就会收到rst。也要查移动网络下IM 保持tcp连接回收,而且发现连接出错时,重发之前10s内消息。

    6K10

    业务经过CLB出现概率性timeout

    确认发现这两个系统参数确实启用; 0.png 后来业务再次确认后在最近有人开启了时间戳和快速回收机制来解决TW太高的问题,有了明确的怀疑方向,但是需要实锤才能安心; 4.这里还有一个疑问,为什么时间戳和快速回收机制开启后同一个...最后解释现象1和2的疑问: (1)现象1的疑问,为什么时间戳和快速回收机制开启后同一个client通过两个CLB访问同一个RS的不同端口会出现超时?...0.png 开启时间戳和快速回收机制后,根据现象上述问题明显和tcp timestmap有关;查看linux 2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下...和tcp_timestamps同时开启的条件下,timestamp大的访问成功,而timestmap小的syn报文被丢弃; (2)现象2的疑问,为什么时间戳和快速回收机制开启后,经过CLB就会出现不响应...提示:Linux 从4.12内核版本开始移除了 tcp_tw_recycle 配置,因为这个系统参数开启带来的未知风险太大。觉得有用请帮忙点赞,谢谢!

    1.7K93

    CLB后端的CVM端口健康检查偶尔异常

    172是cvm的内网ip) image.png 3、所以需要排查下rs为什么不回包,因为看抓包文件偶尔也会回包,所以肯定不是cvm有系统防火墙和安全组等限制 image.png 4、查看客户有开启快速回收参数...sysctl -a |grep -E 'timestamp|reuse|recycle' 可能是开启参数导致的子机不回包,如果同时开启了 TCP 的快速回收(tcp_tw_recycle)和时间戳(tcp_timestamps...cloud.tencent.com/document/product/214/10328#.E5.8E.9F.E5.9B.A0.E5.88.86.E6.9E.90 image.png 5、实锤下到底是否快速回收参数导致的问题...最新内核删除说明: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?...需要修改/etc/sysctl.conf ,添加 net.ipv4.tcp_tw_recycle = 0 sysctl -p 生效 开启快速回收参数可能也会导致下面问题: 1、远程登录linux服务器偶尔不通

    1.5K103

    【Linux】: 传输层协议 TCP

    TCP 协议段格式 理解TCP的报头: Linux 内核是C语言写的,在 UDP 说过报头是协议的表现,而协议本质就是结构体数据。所有 tcp报头 就是一个结构化或位段。...Linux 中 ( BSD Unix 和 Windows 也是如此), 超时以 500ms 为一个单位进行控制, 每次判定超时重发的超时时间都是 500ms 的整数倍....参数控制,这与客户端重发 FIN 报文的重传次数控制方式是一样的 ④ 第四次挥手失败,发生如下:  在 Linux 系统中,TIME_WAIT状态会持续 2MSL 后才会进入关闭状态 3....当 TCP 通信开始后, 网络吞吐量会逐渐上升; 随着网络发生拥堵, 吞吐量会立刻下降 拥塞控制:归根结底是 TCP 协议想尽可能快的把数据传输给对方,但是又避免给网络造成太大压力的折中方案 ,旨在快速传输数据同时防止网络过载...快速重传的拥塞发生算法 cwnd设为原来的一半 ssthresh设为更新后的cwnd 进入快速恢复算法 5.4 快速恢复算法 快速恢复的前提 快速重传和快速恢复算法通常同时使用。

    13710

    Linux的内存回收和交换

    前言 Linux的swap相关部分代码从2.6早期版本到现在的4.6版本在细节之处已经有不少变化。本文讨论的swap基于Linux 4.4内核代码。...Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。希望本文能让读者了解Linux对swap的使用大概是什么样子。...在Linux上可以使用swapon -s命令查看当前系统上正在使用的交换空间有哪些,以及相关信息: [zorro@zorrozou-pc0 linux-4.4]$ swapon -s Filename...另外,Linux内核使用cache的策略虽然是不用白不用,内核会使用内存中的page cache对部分文件进行缓存,以便提升文件的读写效率。...Linux内核使用水位标记(watermark)的概念来描述这个压力情况。Linux为内存的使用设置了三种内存水位标记,high、low、min。

    4.7K52
    领券