欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记一次生产Dubbo线程池耗尽的问题排查处理

程序员文章站 2024-01-27 18:17:16
...

        运维的某一系统,技术架构采用Dubbo + SSM(Spring + SpringMVC + Mybatis)开发,项目拆分成N个大模块,分布式部署在N台服务器上,注册中心采用zookeeper。该系统在交付使用一段时间后,随着用户量和请求数的不断增加,出现了系统性能的瓶颈。因此需要系统治疗师给它压脉诊断,找出病端,提升性能。系统在交付之初是初始化配置的,并没有做针对性的优化。这不,初出茅庐的Dubbo项目这就刚刚经历了它的第一次考验。

Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED! 
Thread Name: DubboServerHandler-10.0.11.155:20884, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), 
Task: 750989 (completed: 750789), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://10.0.11.155:20884!
 at com.alibaba.dubbo.common.threadpool.support.AbortPolicyWithReport.rejectedExecution(AbortPolicyWithReport.java:53)
 at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
 at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
 at com.alibaba.dubbo.remoting.transport.dispatcher.all.AllChannelHandler.received(AllChannelHandler.