一、背景

来源于埋点上报服务,埋点上报服务是用户打开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的更多相关文章

  1. 从U盘安装linux(前人踩坑后人乘凉)

    今天踩了一个大坑,网上的教程从u盘安装linux少了一个关键步骤导致我挣扎了两个小时 废话不多说,开始需要准备一些东西 1.从官网下载一个Ubuntu 10.04的镜像 2.一个大于等于1G的支持启动 ...

  2. Linux使用踩坑记

    Ubuntu安装坑: 1.对于新手第一次安装ubuntu,特殊情况会出现因为分辨率问题导致安装界面不全,无法进行下一步操作. 解决方案:使用alt+鼠标左键拖动屏幕Linux文件名乱码问题: 2.因为 ...

  3. linux上安装redis的踩坑过程

    redis用处很广泛,我不再啰嗦了,我按照网上教程想在linux上安装下,开始了踩坑过程,网上买了一个linux centos7.3,滴滴云的,巨坑无比啊,不建议大家用这家的! redis 为4.0, ...

  4. .NetCore&Linux&Docker&Portainer踩坑历险记

    最近有一个云服务器和数据库的迁移任务,踩坑爬坑无数次,觉得必须要记录一下.大家瓜子花生准备好,听我慢慢讲故事#手动笑哭#. 故事背景 公司是做电商业务的,在天猫有几家旗舰店数据量也很大.阿里有一个称为 ...

  5. kali linux系统配置 避免踩坑

    使用kali一个多月,重新安装kail也三次了,下面是安装完系统后,做如下系统配置,必须要做的配置,让自己以后不要踩坑. kail更新系统 1.添加更新源,前面已经介绍,不再多说 2获取更新数据,命令 ...

  6. Microsoft SQL Server on Linux 踩坑指南

    微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ❤️ Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server ...

  7. Linux Mint安装Docker踩坑指南

    我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...

  8. 网络优化之net.ipv4.tcp_tw_recycle参数

    不要在linux上启用net.ipv4.tcp_tw_recycle参数  2015/07/27  CFC4N 本文为翻译英文BLOG<Coping with the TCP TIME-WAIT ...

  9. 不要在linux上启用net.ipv4.tcp_tw_recycle参数

    不要在linux上启用net.ipv4.tcp_tw_recycle参数 发布于 2015/07/27 莿鸟栖草堂 本文为翻译英文BLOG<Coping with the TCP TIME-WA ...

  10. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

随机推荐

  1. Django之项目部署

    1.线上部署一般会使用https的方式进行部署,本身django框架是不支持的,所以需要... 1)安装扩展 pip install django-extensions django-werkzeug ...

  2. Htq-基于Node.js的异步队列

    github: https://github.com/star7th/htq 部分介绍: 先介绍下基本概念. 我们在编写程序时,偶尔会遇到需要用到异步队列的情况.比如说,我发送一万封邮件,如果单纯使用 ...

  3. OSG开发笔记(三十五): OsgUtil::Optimizer:优化场景策略,提升显示性能和渲染效率

    前言   在OSG中,osgUtil::Optimizer是一个非常重要的工具类,它提供了一系列优化场景图的方法,以提高渲染性能和效率.   Demo      在笔者的pc上,优化前优化后渲染交互没 ...

  4. 一步步教你学会如何区域录制屏幕转换成gif图

    现在各种表情包都是gif图,包括很多可能比较短暂的操作步骤,录制gif图也要远比录制成视频要来的方便很多. 1. GIF文件通常比视频文件小,这使得它们在网络传输中更加高效,尤其是在带宽有限的情况下. ...

  5. 用人工智能模型预测股市和加密货币的K线图

    前一篇:<从爱尔兰歌曲到莎士比亚:LSTM文本生成模型的优化之旅> 前言:加密货币市场昨日大幅下跌,一天内市值蒸发逾70亿 人民币.有人可能会问,如果使用人工智能模型预测市场的涨跌,是否能 ...

  6. e00格式分析

    Arc/Info Export (E00) Format Analysis Original Author: Unknown Last Update: 2000-02-24,  Daniel Mori ...

  7. Vue中使用ref属性获取元素||组件标签

    元素绑定属性 //绑定ref属性 <table ref="refTable"></table> 获取元素 //在方法内 this.$refs.refTabl ...

  8. 【原创】PREEMPT-RT中断线程化原理与中断线程优先级设置

    PREEMPT-RT中断线程化与中断线程优先级设置 目录 PREEMPT-RT中断线程化与中断线程优先级设置 一.什么是中断线程化 1. 普通Linux中断处理 2. 实时性的不足 3. 中断线程化 ...

  9. 对 .NET 开发者来说,Azure AD 改名为 Microsoft Entra ID 意味着什么?

    对 .NET 开发者来说,Azure AD 改名为 Microsoft Entra ID 意味着什么? 原文地址:https://devblogs.microsoft.com/dotnet/azure ...

  10. https://eggjs.org/zh-cn/basics/env.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E7%8E%AF%E5%A2%83

    转载:https://eggjs.org/zh-cn/basics/env.html#自定义环境 运行环境 一个 Web 应用本身应该是无状态的,并拥有根据运行环境设置自身的能力. 指定运行环境 框架 ...