关于close_wait状态的理解

关于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 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值