当前位置: 代码迷 >> 综合 >> close_wati过多导致to many open file 异常
  详细解决方案

close_wati过多导致to many open file 异常

热度:90   发布时间:2023-10-16 15:50:33.0

为什么会出现close_wait我就不说了,网上有很多

说下我遇到的情况以及解决方案

出现异常后我们使用netstat  命令 看到NGINX与我们服务之间有大量的close_wait

产生原因

我们的角色是支付系统

业务系统->支付系统->第三方

业务系统调用我们设置了五秒未响应则主动关闭,支付系统收到关闭请求之后开始回收系统资源,但是我们调用第三方的资源却迟迟不能释放,后来逐步排查发现是我们调用第三方的时候 第三方提供的sdk有问题 ,在sdk内部没有设置请求的超时时间,导致系统资源无法及时回收,支付系统收到关闭请求后无法真正的关闭当前连接(进程一直卡在与第三方建立连接的地方)所以出现closewait,close_wait越来越多 导致正常的连接无法建立,进而产生雪崩效应 

现象就是每次第三方的网络波动,无法与支付系统建立连接时我们的支付系统都会挂掉

 解决

修改第三方的sdk解决,建立连接时设置超时时间即可

最后

永远相信第三方都是垃圾,及时自己是第三方的时候也是一样的

  相关解决方案