关于close_wait状态的理解
以web服务器产生大量的close_wait状态为例
1.close_wait状态介绍:
客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN,此时的状态为close_wait状态,大量的close_wait状态拖累服务器性能
2.close_wait产生的原因:
某种情况下客户端关闭了连接,但是我方忙于读写,没有关闭连接
3.解决方法:
思想:检查出客户端已经关闭的连接,关闭他
之所以会出现这种问题,肯定是服务器端的连接释放的代码存在问题
1.当服务器读写失败时,可以选择关闭连接
2.定期向连接发送询问数据,检查收到的回复数据包(Heart-Beat线程发送指定格式的心跳数据包)
3.修改keep-live参数(超时时间,tcp检查间隔时间:keeplive探测包发送的间隔,tcp检查次数:如果对方不予应答,探测包发送的次数)
ps:服务器出现大量的close_wait状态,这个锅肯定是服务器端的coder背!
关于close_wait状态的理解的更多相关文章
- TCP连接的TIME_WAIT和CLOSE_WAIT 状态解说【转】
		
相信很多运维工程师遇到过这样一个情形: 用户反馈网站访问巨慢, 网络延迟等问题, 然后就迫切地登录服务器,终端输入命令"netstat -anp | grep TIME_WAIT | wc ...
 - CLOSE_WAIT状态的原因与解决方法(转载留自己看)
		
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题.说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP ...
 - TCP连接的TIME_WAIT和CLOSE_WAIT 状态解说
		
相信很多运维工程师遇到过这样一个情形: 用户反馈网站访问巨慢, 网络延迟等问题, 然后就迫切地登录服务器,终端输入命令"netstat -anp | grep TIME_WAIT | wc ...
 - close_wait状态的产生原因及解决(转)
		
最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下: 如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动 ...
 - 【服务器】一次对Close_Wait 状态故障的排查经历
		
最近接连听说一台线上服务器总是不响应客户端请求. 登录服务器后查询iis状态,发现应用程序池状态变为已停止. 按经验想,重启后应该就ok,第一次遇到也确实起了作用,当时完全没在意,以为是其他人无意把服 ...
 - CLOSE_WAIT状态的原因与解决方法 --转
		
转自:http://blog.chinaunix.net/uid-20357359-id-1963662.html 这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司 ...
 - close_wait状态和time_wait状态(TCP连接)
		
1.CLOSE_WAIT的简单解决方案 不久前,我的Socket Client程序遇到了一个非常尴尬的错误.它本来应该在一个socket长连接上持续不断地向服务器发送数据,如果socket连接断开,那 ...
 - 【网络编程】服务端产生大量的close_wait状态的进程分析
		
首先要明白close_wait状态是在tcp通信四次握手时的一个中间状态: 即当被动关闭方发送完ACK后进入的状态.这个状态的结束,即要达到下一个状态LASK_ACK需要在发无端发送完剩余的数据后(s ...
 - TCP之 TIME_WAIT和CLOSE_WAIT 状态 的原因分析和处理
		
转自:http://blog.csdn.net/shootyou/article/details/6622226 昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http: ...
 
随机推荐
- 五.python小数据池,代码块的最详细、深入剖析
			
一,id,is,== 在Python中,id是什么?id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是 ...
 - [Javascript] Check Promise is Promise
			
const isPromise = obj => Boolean(obj) && typeof obj.then === 'function'; This can be a to ...
 - web开发——文件的上传和下载
			
众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路. 实现文件夹 ...
 - 结构体&文件
			
1.本章学习内容总结 1.1学习内容总结 什么是结构类型? 结构Structure类型是一种允许程序员把一些数据分量聚合成一个整体的数据类型. 结构和数组的区别? 结构和数组的最大区别是数组中所有元素 ...
 - Coffee Break
			
题目链接:Coffee Break Gym-101911A 题目大意:有一位员工想要利用喝咖啡来休息,他给了一个数组表示他想要喝咖啡的时间点(假设他喝咖啡用时1分钟),老板规定每次喝咖啡的时间间隔必 ...
 - Kubernetes集群部署(yum部署)
			
环境准备 Kubernetes-Master:192.168.37.134 #yum install kubernetes-master etcd flannel -y Kubernetes-n ...
 - C#中将xml文件反序列化为实例时采用基类还是派生类的问题
			
基类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
 - Java_jdbc 基础笔记之十五 数据库连接(取得数据库自动生成的主键)
			
public class testGetKeyValue { /** * 取得数据库自动生成的主键 */ @Test public void testGeneratedKeys() { Connect ...
 - P1981 表达式求值
			
P1981 表达式求值 题解 这个题联想一下 P1310 表达式的值 思路就是输入中缀式,转成后缀式,然后按后缀式计算,完美!! but!! 会严重RE,因为你可能会输入中缀式的时候输 ...
 - 解决Ubuntu系统“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”的有效方法
			
ubuntu系统下安装东西,很多时候会出现版本冲突的情况: 有效的解决方法是使用aptitude来帮助降级. 首先安装aptitude 而后使用aptitude来安装前面有冲突的构建,同样也是要使用r ...