加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

记一次找因Redis使用不当导致应用卡死Bug的过程

发布时间:2019-10-14 00:39:00 所属栏目:MySql教程 来源:小木
导读:副标题#e# 首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能

继续F8

  1. public E takeFirst() throws InterruptedException {  
  2.     this.lock.lock();  
  3.     Object var2;  
  4.     try {  
  5.         Object x;  
  6.         while((x = this.unlinkFirst()) == null) {  
  7.             this.notEmpty.await();  
  8.         }  
  9.         var2 = x;  
  10.     } finally {  
  11.         this.lock.unlock();  
  12.     }  
  13.     return var2;  

到这边 发现lock字眼,开始怀疑所有请求api都被阻塞了

于是再次ssh 服务器 安装 arthas ,(Arthas 是Alibaba开源的Java诊断工具)

执行thread命令

记一次找因Redis使用不当导致应用卡死Bug的过程

发现大量http-nio的线程waiting状态,http-nio-8083-exec-这个线程其实就是出来http请求的tomcat线程

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读