news 2026/7/11 23:28:49

第 52 篇:TCP保活机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第 52 篇:TCP保活机制

协议深入系列第7篇。

先扔个真实场景

有一次半夜两点,服务端收到报警,说某台机器连接数异常堆积。

上去一看,ESTABLISHED连接好几万,但业务QPS几乎为零。

连接状态全是活的。人全没了。

这就是TCP Keepalive没开的后果。连接池里全是僵尸,占着文件描述符不干活,等到业务恢复时发现连不上,还得等超时重试。

后来把这个案例写进复盘,顺手把TCP Keepalive彻底撸了一遍。

这玩意儿到底干嘛的

TCP连接建好之后,如果双方都不发数据,这条连接可以安安静静挂在那,操作系统不会主动去问对方还在不在。

对方可能早挂了:手机切了网络、NAT映射过期、防火墙清了状态、主机直接断电。

但你这边TCP状态还是ESTABLISHED。

Keepalive解决的就是这个问题——在连接空闲到一定时间后,主动发一个探测包,确认对端TCP栈还能不能回话。

注意措辞:确认的是对端TCP栈还通不通,不确认业务还活不活。

默认配置就是一个坑

Linux默认值长这样:

tcp_keepalive_time = 7200 tcp_keepalive_intvl = 75 tcp_keepalive_probes = 9

什么意思?连接空了两小时后才开始探测,每75秒探一次,连探9次都失败才认为断了。<

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 23:26:57

PilotGo-plugin-logs架构解析:深入理解C/S架构的日志采集系统

PilotGo-plugin-logs架构解析&#xff1a;深入理解C/S架构的日志采集系统 【免费下载链接】PilotGo-plugin-logs system logs plugin for PilotGo. 项目地址: https://gitcode.com/openeuler/PilotGo-plugin-logs 前往项目官网免费下载&#xff1a;https://ar.openeuler…

作者头像 李华
网站建设 2026/7/11 23:26:49

syscontainer-tools 高级配置:自定义钩子规范与最佳实践

syscontainer-tools 高级配置&#xff1a;自定义钩子规范与最佳实践 【免费下载链接】syscontainer-tools A syscontainer tool work with isulad with hook support and provides enhanced functions. 项目地址: https://gitcode.com/openeuler/syscontainer-tools 前往…

作者头像 李华
网站建设 2026/7/11 23:26:01

FPGA加法器设计进阶:从1位全加器到4位行波进位加法器的3步实现

FPGA加法器设计进阶&#xff1a;从1位全加器到4位行波进位加法器的3步实现在数字电路设计中&#xff0c;加法器是最基础也最关键的运算单元之一。本文将带您从1位全加器出发&#xff0c;逐步构建一个完整的4位行波进位加法器&#xff08;Ripple Carry Adder&#xff09;&#x…

作者头像 李华
网站建设 2026/7/11 23:23:20

用GLM-5.1两小时打造可上架的邮票日记iOS应用

1. 项目概述&#xff1a;一个真实可复现的邮票日记APP实战手记我用GLM-5.1在两小时内完成了一个能在App Store上架、具备完整用户路径的iOS邮票日记APP&#xff0c;不是Demo&#xff0c;不是PPT&#xff0c;是能真正在iPhone上拍照、加滤镜、生成复古邮票样式、按日历归档、支持…

作者头像 李华