TCP/IP(十)TCP的连接管理(七)CLOSE_WAIT和TCP保活机制

news/2024/12/29 23:49:01/

一  CLOSE_WAIT探究

CLOSE_WAIT 状态出现在被动关闭方,当收到对端'FIN'以后回复'ACK',但是自身'没有'发送FIN包之前

①   服务器出现大量 CLOSE_WAIT 状态的原因有哪些?

1、通常来讲,CLOSE_WAIT状态的'持续'时间应该很'短',正如SYN_RCVD状态2、但是在一些'特殊'情况下,就会出现大量'连接长时间'处于CLOSE_WAIT状态的情况3、观察TCP连接状态,包括'CLOSE_WAIT'netstat -nat | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

说明:'分析'一个'普通'的 TCP 服务端的'流程' 备注: 注意每'一'步

分析: 导致服务端'没有'调用 close 函数的'原因'主要分析的'方向'就是服务端'为什么没有'调用 close --> 没有发送'FIN'包

线上大量CLOSE_WAIT的原因深入分析

一次 Netty 代码不健壮导致的大量 CLOSE_WAIT 连接原因分析

二  如果已经建立了连接,但是客户端突然出现故障了怎么办?

TCP 连接,一端断电和进程崩溃有什么区别?

①  TCP保活机制

/proc/sys/net/ipv4/tcp_keepalive_intvl  /proc/sys/net/ipv4/tcp_keepalive_probes  /proc/sys/net/ipv4/tcp_keepalive_timeSO_KEEPALIVE 选项  --> '保活' 机制

②  操作系统默认值TCP保活计算方式

③  nginx listen 指令的tcp选项参数

Linux下 nginx so_keepalive 参数详解

④  开启TCP保活连接考虑场景

⑤  应用层实现心跳机制

三  如果已经建立了连接,但是服务端的进程崩溃会发生什么?

四   发送RST包的场景


http://www.ppmy.cn/news/1147431.html

相关文章

MySQL数据生成工具mysql_random_data_load

在看MySQL文章的时候偶然发现生成数据的工具,此处直接将软件作者的文档贴了过来,说明了使用方式及下载地址 Random data generator for MySQL Many times in my job I need to generate random data for a specific table in order to reproduce an is…

MongoDB 笔记

1 insert 、create、save区别 insert: 主键不存在则正常插入;主键已存在,抛出DuplicateKeyException 异常 save: 主键不存在则正常插入;主键已存在则更新 insertMany:批量插入,等同于批量执行 insert create&#x…

uniapp+vue3+ts+uview-plus搭建项目步骤

创建项目 使用Vue3/Vite版,创建以 typescript 开发的工程 下载仓库 DCloud/uni-preset-vue - Gitee.com node版本:v16.18.0 npm版本: v8.19.2 依赖下载 解压之后,在vscode打开 通过终端运行 npm 命令下载依赖:npm ins…

linux-动态库和静态库制作和使用

【静态连接和动态连接】C/C编程中的两种有效链接策略_c 动态链接 静态链接_SecureCode的博客-CSDN博客 静、动态库概念和各自优点 静: 动: 动态库:只有一份,运行时具体代码行才加载使用(相对慢)&#xff1…

windows docker desktop配置加速地址

目录 为什么常见加速地址在docker desktop上配置 为什么 https://hub.docker.com 是官方的镜像仓库地址,但是它的服务器地址是在国外,有时候访问和下载的速度差强人意。不过好在,我们可以进行远程仓库的设置,将仓库镜像地址设置为…

Kubernetes使用OkHttp客户端进行网络负载均衡

在一次内部Java服务审计中,我们发现一些请求没有在Kubernetes(K8s)网络上正确地实现负载均衡。导致我们深入研究的问题是HTTP 5xx错误率的急剧上升,由于CPU使用率非常高,垃圾收集事件的数量很多以及超时,但…

使用IntelliJ Idea必备的插件!

趁手的工具让开发事半功倍,好用的IDEA插件让效率加倍。 今天给大家分享几个优秀的IDEA插件。 插件安装 首先得知道在IDEA哪安装插件? 点击File---->Settings---->找到Plugins标签,即可搜索想要的插件进行安装了。 现在来看下有哪些值…

Vue中的监视属性

一、监视属性的使用 (一)配置watch进行监视 当我们想要监视一个属性改变的时候就可以使用监视属性监视其变化并进行操作。 语法格式如下: watch:{ 监视属性名称 : { // 监视属性的配置项 } } 1. handler函数 当监视的属性发生变化时就调…