跳至主要內容
生产tomcat线程阻塞问题分析

现象

当大量的请求到服务,过一会,服务无法响应请求,k8s配置了健康检查,服务被k8s重启

分析

让运维的同学把thread和heap dump了下来,打开一看,全部tomcat的线程阻塞在Druid连接池上

线程情况

image-20230329092255788_1

所有的tomcat线程堵塞在com.alibaba.druid.pool.DruidDataSource.takeLast,该方法是从Druid的连接池取出连接,当线程池没有空闲的时候,一直阻塞等待。


DHB大约 1 分钟Java问题排查Druid