码迷,mamicode.com
首页 > 编程语言 > 详细

因redis线程池挂起导致tomcat无响应

时间:2015-05-13 16:15:57      阅读:986      评论:0      收藏:0      [点我收藏+]

标签:

    上周线上服务器突然出错,tomcat服务莫名其妙的无响应,查看内存和cpu,一切正常,查看nginx日志,发现一直返回499的错误码,看来是程序里面某一处出错,导致tomcat挂起。没啥好办法,线程,堆dump出来之后,重启tomcat服务,应用恢复正常。

    分析了dump出来的堆之后,发现有5百多的redis的连接挂起在那里,查看了redis连接池的配置,发现一个pool最多500个,再仔细查看代码,发现代码逻辑有问题,当应用传入一个key,从redis里面获取一个值,如果该key不存在,代码里的处理是直接返回为空,而没有把连接释放掉,这样这个连接就一直占着空间,直到连接池满了为止。

 

因redis线程池挂起导致tomcat无响应

标签:

原文地址:http://www.cnblogs.com/hzwj/p/4500588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!