[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]服务器出现大量CLOSE_WAIT

上一篇:[备忘]阿里云的默认配置sysctl.conf
下一篇:[转帖]同是经济舱座位,却有不同的规则,细读机票的条款

添加日期:2017/12/29 9:44:29 快速返回   返回列表 阅读1994次

按此在新窗口浏览图片


参考这两篇文章:

https://huoding.com/2016/01/19/488

http://blog.csdn.net/yu616568/article/details/44677985

我的现象是nginx--tomcat之间有大量CLOSE_WAIT。

按文章的理解,应该是tomcat程序有问题,引起堵塞。

调用者超时后,主动断开连接,发了FIN包过来,服务器回复ACK,进入CLOSE_WAIT状态。

下一步,应该是服务器程序主动关闭,也就是发送FIN给客户端,

但是由于程序堵塞着呢,导致没发送FIN,一直处于CLOSE_WAIT状态。

所以,根源还是程序问题,查找程序问题是关键。

--------------------------
结果发现是ActiveMq消息发送者,应该是被憋死了。

大概过程是:new一个task,扔到线程池跑,

task里就是JmsTemplate给mq服务器发消息,但是由于是持久化的,

mq服务器处理慢,导致task执行完可能要10秒。

-------------
但是task扔线程池应该是异步操作,不应该把主线程弄死啊~~

没想明白,也没去重现它,直接换kafuka了~~

 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved