Linux网络优化踩坑net.ipv4.tcp_tw_recycle
一、背景
来源于埋点上报服务,埋点上报服务是用户打开APP后点击、浏览、曝光等数据都会上报到埋点服务,收集数据后用来公司运营。
本次踩坑来源于监控到上课高峰期net.sockets.tcp.timewait达到系统设置的最大值5000,为了降低高峰期timewait数量,参考网上介绍可以调整三个参数来降低timewait。

二、修改参数
1、root用户修改参数vim /etc/sysctl.conf
参数1:修改timewait阈值,默认5000,建议最大不超过5万,太高会影响系统其它服务
net.ipv4.tcp_max_tw_buckets=30000
参数2:开启快速回收,这个参数有坑,遇到的问题是这个参数引起,在下面说明
net.ipv4.tcp_tw_recycle=1
参数3:允许将TIME-WAIT sockets重新用于新的TCP连接,默认关闭。我们系统上默认开启,并且稳定,所以不用修改
net.ipv4.tcp_tw_reuse=1
2、使修改生效
sysctl -p
三、修改后现象
1、java后端(在k8s容器中pod)上报偶发报连接超时,调用91次失败10次左右
org.apache.http.conn.ConnectTimeoutException: Connect to ***.com:443 [***.com/1.0.0.1] failed: connect timed out
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect
2、在阿里容器pod中访问埋点域名,偶发连接时间长,连接超时现象。十次有一次超时
测试方式 telnet ***.com 443
3、使用阿里云、腾讯云服务器(服务器有公网ip),访问正常
测试方式 telnet ***.com 443
4、为容器pod的宿主机增加eip(公网ip)后,访问正常
测试方式 telnet ***.com 443
网络路径:容器pod==》NAT网关==》外网埋点域名==》NLB==》ng集群
当前排查结论:容器pod需要经过公司NAT网关才能连接外网,使用带公网ip的云服务器都访问正常,怀疑是容器到网关有问题。
5、
参考文章:
1、https://blog.csdn.net/whatday/article/details/113427085
2、https://www.jianshu.com/p/4ffff35ef335
Linux网络优化踩坑net.ipv4.tcp_tw_recycle的更多相关文章
- 从U盘安装linux(前人踩坑后人乘凉)
今天踩了一个大坑,网上的教程从u盘安装linux少了一个关键步骤导致我挣扎了两个小时 废话不多说,开始需要准备一些东西 1.从官网下载一个Ubuntu 10.04的镜像 2.一个大于等于1G的支持启动 ...
- Linux使用踩坑记
Ubuntu安装坑: 1.对于新手第一次安装ubuntu,特殊情况会出现因为分辨率问题导致安装界面不全,无法进行下一步操作. 解决方案:使用alt+鼠标左键拖动屏幕Linux文件名乱码问题: 2.因为 ...
- linux上安装redis的踩坑过程
redis用处很广泛,我不再啰嗦了,我按照网上教程想在linux上安装下,开始了踩坑过程,网上买了一个linux centos7.3,滴滴云的,巨坑无比啊,不建议大家用这家的! redis 为4.0, ...
- .NetCore&Linux&Docker&Portainer踩坑历险记
最近有一个云服务器和数据库的迁移任务,踩坑爬坑无数次,觉得必须要记录一下.大家瓜子花生准备好,听我慢慢讲故事#手动笑哭#. 故事背景 公司是做电商业务的,在天猫有几家旗舰店数据量也很大.阿里有一个称为 ...
- kali linux系统配置 避免踩坑
使用kali一个多月,重新安装kail也三次了,下面是安装完系统后,做如下系统配置,必须要做的配置,让自己以后不要踩坑. kail更新系统 1.添加更新源,前面已经介绍,不再多说 2获取更新数据,命令 ...
- Microsoft SQL Server on Linux 踩坑指南
微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ❤️ Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server ...
- Linux Mint安装Docker踩坑指南
我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...
- 网络优化之net.ipv4.tcp_tw_recycle参数
不要在linux上启用net.ipv4.tcp_tw_recycle参数 2015/07/27 CFC4N 本文为翻译英文BLOG<Coping with the TCP TIME-WAIT ...
- 不要在linux上启用net.ipv4.tcp_tw_recycle参数
不要在linux上启用net.ipv4.tcp_tw_recycle参数 发布于 2015/07/27 莿鸟栖草堂 本文为翻译英文BLOG<Coping with the TCP TIME-WA ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...
随机推荐
- Displaying XML in a Swing JTree
Overview It seems obvious enough: You have an XML document or fragment. XML is hierarchical. A Swing ...
- 解读vue的webpack.base.conf.js配置
'use strict' // 引入nodejs路径模块 const path = require('path') // 引入utils工具模块,utils主要用来处理css-loader和vue-s ...
- uniapp 画布
1.前言 uniapp中的canvas与HTML中的canvas用法并不同,他的使用文档请参考微信小程序画布 2.基本使用 1.准备canvas容器,并为其设置canvas-id和宽高(为了兼容H5, ...
- 物联网CC2530按键单双击分别控制两灯
(1)确定思路单击和双击的效果分别是怎样的(此文章采用简单的延时函数不涉及中断).首先可以定义一个普通延时delay和一个标志位count变量,这里需有个延时阈值咱们直接可以宏定义B值(这里需要注意宏 ...
- uniapp权限判断
写法如下 // 检查是否有写入外部存储的权限 function writeExternalStoragePermission() { return new Promise((resolve, reje ...
- 【金TECH频道】从第一性原理出发,数字原生银行原来可以这样做
"第一性原理",是最近商界特别流行的一个词. 这个来自于古希腊先贤的古老词汇,本意在于更多聚焦于事物本质,即是用物理学的角度来看待世界,一层层拨开事物表象,看到里面的本质,再从 ...
- kubernetes更改nodePort模式下的默认端口范围
使用nodePort模式,官方默认范围为30000-32767,详见Service官方文档. NodePort 类型如果将 type 字段设置为 NodePort,则 Kubernetes 控制平面将 ...
- set -euxo pipefail
有些开发人员会用Bash来实现很复杂的功能,就像使用别的高级语言一样.他可能觉得自己很牛逼但其他人早就想锤爆他了,Bash的可读性和可维护性远远低于任何高级语言.更要命的是,Bash并没有方便的调试工 ...
- 【转载】Spring Cloud Gateway-过滤器工厂详解(GatewayFilter Factories)
http://www.imooc.com/article/290816 TIPS 本文基于 Spring Cloud Greenwich SR2 ,理论支持 Spring Cloud Greenwic ...
- Qt编写物联网管理平台33-设备面板
一.前言 设备面板展示数据,相对于表格展示,可能在一个页面中能够展示的设备数据量少一些,但是有些用户和场景,又需要这种面板的形式,可能更生动形象一些.尤其是经过这么些年的社会的毒打,我的原则是:用户是 ...