tomcat连接超时,出现大量close"/>
记一次tomcat连接超时,出现大量close
问题:用户反馈平台无法登录
排查步骤:
1、首先查看前段有无报错,在发出登录请求后,按f12发现登录请求超时
2、查看后台是否正常运行
netstat -anlp | grep 8080
后台正常运行,但发现大量close_wait状态的tcp请求,初步推断:线程死锁、cup或mem资源耗尽。
3、查看服务器资源情况
top
可以看出cpu的四核已经跑满,前五分钟的负载也居高不下,此处java进程占用cpu为360%,可以推断后台有大量线程或任务正在运行。
4、查看后台日志,发现有定时器正在执行,定时器内采用线程池的方式执行任务,通过数据库查询该定时器执行结果发现该定时器中任务量过多。
救火措施:暂时暂停该定时器的运行,释放CPU资源,让tomcat的线程重新争得CPU,处理前段请求。
解决措施:合理划分该定时器的线程资源,该定时器的操作大多为CPU型,占用CPU时间长,导致后台中的tomcat线程迟迟无法抢得cpu,导致tcp连接假死,最终响应超时。
更多推荐
记一次tomcat连接超时,出现大量close
发布评论