记一次生产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.