关于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背!

posted @ 2019-05-29 20:50 Y先森0.0 阅读(...) 评论(...) 编辑 收藏

关于close_wait状态的理解相关推荐

  1. 【服务器】一次对Close_Wait 状态故障的排查经历

    最近接连听说一台线上服务器总是不响应客户端请求. 登录服务器后查询iis状态,发现应用程序池状态变为已停止. 按经验想,重启后应该就ok,第一次遇到也确实起了作用,当时完全没在意,以为是其他人无意把服 ...

  2. TCP 连接管理机制(二)——TCP四次挥手的TIME_WAIT、CLOSE_WAIT状态

    介绍三次握手的时候,着重了解的是三次握手过程中,应用层和传输层做了哪些工作:下面在了解四次挥手的时候,主要了解的是四次挥手的状态变化. 目录 一.四次挥手 1.第一次挥手 2.第二次挥手 3.第三次挥 ...

  3. close_wait状态的产生原因及解决

    最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下:  如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被 ...

  4. close_wait状态和time_wait状态

    不久前,我的Socket Client程序遇到了一个非常尴尬的错误.它本来应该在一个socket长连接上持续不断地向服务器发送数据,如果socket连接断开,那么程序会自动不断地重试建立连接. 有一天 ...

  5. close_wait 状态的产生原因及解决

    最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下: 如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动 ...

  6. TIME_WAIT和CLOSE_WAIT状态

    下图了解各种状态: 如果服务器出现了异常,很大的可能是出现了以下两种情况: 服务器保持了大量的TIME_WAIT状态. 服务器保持了大量的CLOSE_WAIT状态. TIME_WAIT状态产生原因: ...

  7. CLOSE_WAIT状态的原因与解决方法 --转

    转自:http://blog.chinaunix.net/uid-20357359-id-1963662.html 这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司 ...

  8. TCP close_wait 状态的解释

    CLOSE_WAIT状态的生成原因 首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的! 因为如果是Server端主动断掉当前连接的话,那么双方关闭这个T ...

  9. windows2008文件服务器端口,windows server 2008 文件服务器不定期出现大量CLOSE_WAIT状态的连接,必须重启服务器,客户端才能访问共享。...

    故障现象如题,用netstat -ano -p tcp 可以看到大量的连接.都处于close_wait状态..然后客户端访问共享就很卡,EXCEL也卡死.服务器重启恢复正常,但是过一段时间又出现这个问 ...

最新文章

  1. hibernate---一对一单项外键关联
  2. openstack vlan配置_为OpenStack和K8s集群提供无缝虚拟网络
  3. 常见Java面试题之静态变量和实例变量的区别
  4. rr计算机专业英语,《计算机专业英语》电子教本8.pdf
  5. 软件工程——快速掌握面向对象开发方法
  6. centos7 安装MyCli MySQL 客户端
  7. 域组策略--+域控中组策略基本设置
  8. JAVA免费https,Java与HTTPS
  9. ViewStub详解
  10. matlab中基于十字形窗口的滤波算法,×字形滤波窗口在Matlab自适应中值滤波算法中的应用...
  11. 初识ubuntu 安装steam
  12. SPSS安装过程中无法创建Java虚拟机的解决方法
  13. android 高仿国美,iOS高仿国美、二次元应用、点赞喷射动画、电影筛选页等源码...
  14. 流量不清零、可转赠,对运营商未必是坏事
  15. cups ipp oracle,CUPS cups/ipp.c空指针引用拒绝服务漏洞
  16. Spring-Cloud-Gateway之代码注入漏洞及解决
  17. centos 8 编译安装hyperscan
  18. 排序算法(冒泡排序)
  19. ERROR:cannot load flash device description
  20. mysql删除列前判断_MySQL中,删除列的SQL语句是( )

热门文章

  1. 怎么修改Mac密码?新鲜出炉的修改MAC电脑密码教程
  2. SpringBoot小彩蛋,自定义项目启动时图案
  3. 农产品区块链溯源平台建设解决方案,健全食品安全体系
  4. 红鸟沙龙(12)|李泽湘:端到端创业教育与实践探索
  5. 航天器系统设计的程序是什么?
  6. 50个出色的Adobe After Effects教程
  7. post方式下载文件ie8不支持
  8. 奇门排盘.net实现代码(C#)原创
  9. 解魔方机器人系列(二)步进电机控制
  10. 千峰培训_前端_day03_3d旋转相册