一次TCP TIME_WAIT连接数过多告警处理
一次TCP TIME_WAIT连接数过多告警处理1、前言2、问题回顾3、解决方案更多技术文章快来关注“运维之美”不定期更新领取IT学习资料1、前言客户环境上在业务高峰期的时候突然收到主机的TCP time_wait连接数告警过多的告警。运维侧及时介入分析通过本文的处理方式和思路希望给你在问题处理过程中提供灵感。2、问题回顾客户反馈收到如下告警主机TCP timewait连接数过多prometheus告警表达式node_sockstat_TCP_tw 50000收到连接数过多的告警并不代表一定会产生生产问题此时要关注负载是否直线上升连接数一直无法释放如果出现此情况则需要及时处理避免造成生产环境宕机。连接数数据来源/proc/net/sockstat线上场景中持续的高并发场景一部分 TIME_WAIT 连接被回收但新的 TIME_WAIT 连接产生新产生的连接数超过释放的速度一些极端情况下会出现大量的 TIME_WAIT 连接。Think上述大量的 TIME_WAIT 状态 TCP 连接有什么业务上的影响吗Nginx 作为反向代理时大量的短链接可能导致 Nginx 上的 TCP 连接处于 time_wait 状态每一个 time_wait 状态都会占用一个「本地端口」上限为 65535当大量的连接处于 time_wait 时新建立 TCP 连接会出错address already in use : connect 异常TipsTCP 本地端口数量上限为 655356.5w这是因为 TCP 头部使用 16 bit存储「端口号」因此约束上限为 65535。time_wait 状态的影响TCP 连接中「主动发起关闭连接」的一端会进入 time_wait 状态time_wait 状态默认会持续 2 MSL报文的最大生存时间time_wait 状态下TCP 连接占用的端口无法被再次使用TCP 端口数量上限是 6.5w6553516 bitnet.ipv4.ip_local_port_range102465000#端口数和这个参数有关系大量 time_wait 状态存在会导致新建 TCP 连接会出错address already in use : connect 异常大量的连接会导致服务器资源使用上升现实场景服务内部调用过多优化业务模式也可以是连接关闭方式需要优化Nginx 反向代理场景中可能出现大量短链接服务器端可能存在解决思路1、服务器端允许 time_wait 状态的 socket 被重用2、缩减 time_wait 时间设置为 1 MSL即2 mins3、解决方案TCP连接数统计脚本#!/bin/shforiin/proc/*;doif[-d$i/fd];thenecho$i$(ls$i/fd-l|grepsocket:|wc-l)fidone通过这个脚本可以统计出当前分配连接数的进程通过进程可以找到对应的服务如果是服务关闭连接的姿势不对业务方优化即可在业务侧解决此问题之前我们可以通过操作系统的内核参数缓解此问题方案修改配置文件/etc/sysctl.conf1、允许将TIME_WAIT状态的socket重新用于新的TCP连接net.ipv4.tcp_tw_reuse1#默认为0表示关闭如果为0修改为12、快速回收TIME_WAIT状态的socketnet.ipv4.tcp_tw_recycle1#修改为1默认为03、修改time_wait连接数的回收时间cat/proc/sys/net/ipv4/tcp_fin_timeout#查看默认的MSL值net.ipv4.tcp_fin_timeout30#如果为60修改为30s回收最后sudo sysctl -p 使配置生效即可从修改前后的效果上可以看到timewait的回收明显加快了

相关新闻

ESP32CAM 视频固件开发及实现

ESP32CAM 视频固件开发及实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 6:33:57 阅读更多 →
【动手学深度学习】深入浅出深度学习之线性神经网络

【动手学深度学习】深入浅出深度学习之线性神经网络

目录 🌞一、实验目的 🌞二、实验准备 🌞三、实验内容 🌼1. 线性回归 🌻1.1 矢量化加速 🌻1.2 正态分布与平方损失 🌼2. 线性回归的从零开始实现 🌻2.1. 生成数据集 &#x…

2026/9/30 6:33:57 阅读更多 →
【动手学深度学习】深入浅出深度学习之利用神经网络识别螺旋状数据集

【动手学深度学习】深入浅出深度学习之利用神经网络识别螺旋状数据集

目录 🌞一、实验目的 🌞二、实验准备 🌞三、实验内容 🌼1. 生成螺旋状数据集 🌼2. 打印数据集 🌼3. 编程实现 🌻仿射层-Affine类 🌻传播层-Sigmoid类 🌻损失函数…

2026/9/30 6:33:57 阅读更多 →

最新新闻

预算紧张时怎么起步?SaaS 与源码的入门门槛对比

预算紧张时怎么起步?SaaS 与源码的入门门槛对比

刚起步的商家,现金流往往是头等大事。SaaS 手机号注册即自动分配商城空间,不用买服务器、不用请技术,几百块就能把店开起来,试错成本很低,跑不通损失也有限。 源码部署看似入门零成本。但真正跑起来,要付服…

2026/9/30 7:21:17 阅读更多 →
一文教会昇腾ATC模型转换工具:把开源模型编译成NPU能跑的格式

一文教会昇腾ATC模型转换工具:把开源模型编译成NPU能跑的格式

昇腾 ATC 模型转换入门指南:把训练模型变成 NPU 能跑的 OM 一句话让Agent变成昇腾专家,昇腾任务轻松搞定。评测入口:请按这个开源仓接入昇腾图谱 https://gitcode.com/agent0/kg-tools 你花几天训练出一个深度学习模型,满怀期待地…

2026/9/30 7:21:17 阅读更多 →
CW32L010自定义Bootloader上位机控制更换UI,背景图,固件升级

CW32L010自定义Bootloader上位机控制更换UI,背景图,固件升级

项目完整教程项目完整飞书文档 https://my.feishu.cn/docx/TXDYdtXg9ovE1QxlFsGcX5FXndh?fromfrom_copylink1. 项目与构建MCU:CW32L010;系统时钟 48 MHz HSI。固件分为应用 FAN_CONTROL/ 与自定义 UART2 Bootloader BOOTLOADER/。构建:CMake…

2026/9/30 7:21:17 阅读更多 →
智能视频监控:从事后回看到实时预警主动防控

智能视频监控:从事后回看到实时预警主动防控

工厂部署了数百路视频摄像头,但绝大多数视频的作用是"出事后调监控回看"。人员违规作业、区域非法闯入、PPE穿戴缺失、烟火异常等行为完全依赖监控室值守人员的肉眼观察。一个人同时盯几十个屏幕,注意力无法持续集中。更关键的是,发…

2026/9/30 7:21:17 阅读更多 →
大模型 API 价格怎么看?除了 Token 单价还要算哪些成本

大模型 API 价格怎么看?除了 Token 单价还要算哪些成本

大模型 API 价格怎么看?除了 Token 单价还要算哪些成本 很多人第一次比较大模型 API 价格,最容易看的就是:每百万 Token 多少钱。这个数字当然重要,但真正把 API 接进 AI Coding、Agent、知识库或者企业内部系统后,很快…

2026/9/30 7:21:17 阅读更多 →
《战略规划写得漂亮,一年后业务上什么都没发生——差的就是这六

《战略规划写得漂亮,一年后业务上什么都没发生——差的就是这六

每年年底,很多企业都会做同一件事:关起门来开三天战略会,把明年的方向、目标、打法写成一份漂亮的PPT。然后,一年过去了。复盘时会发现一个尴尬的事实:方向没错,但业务上什么都没发生。战略躺在纸面上&…

2026/9/30 7:20:17 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →