Arthas线上实战:Dubbo线程池耗尽故障排查

栏目: 后端 · 发布时间: 6年前

内容简介:上周末做了活动期间大量的限流告警提示。于是拜托运维大神先添加机器,暂时顶住压力。扩容一波增加了一些机器。然后,然后就看到了更多的接口响应超时告警。what ? 线程池耗尽。

上周末做了活动期间大量的限流告警提示。于是拜托运维大神先添加机器,暂时顶住压力。扩容一波增加了一些机器。然后,然后就看到了更多的接口响应超时告警。

2019-06-22 23:32:07,957 WARN [New I/O server worker #1-9] com.alibaba.dubbo.common.threadpool.support.AbortPolicyWithReport:warn:54 [DUBBO] Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-172.***:62075, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 771 (completed: 571), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://172.***:62075!, dubbo version: 2.5.3, current host: 172.16.6.3

Thread pool is EXHAUSTED!
Arthas线上实战:Dubbo线程池耗尽故障排查

问题排查

what ? 线程池耗尽。

1.客户端调用重试次数太多?

检查发现所有请求设置的重试次数都为0.

2.接口响应超时时间设置的过长?

单次请求超时时间3s.

3.是不是有线程阻塞?

打开 Arthas。

thread -b

Arthas线上实战:Dubbo线程池耗尽故障排查

thread

Arthas线上实战:Dubbo线程池耗尽故障排查

发现所有的SimpleAsyncTaskExecutor全部都是阻塞状态。那么它们在做什么呢?

插曲

运维重启了服务之后SimpleAsyncTaskExecutor 线程逐渐变成阻塞状态。(刚刚是全部为阻塞)

Arthas线上实战:Dubbo线程池耗尽故障排查
Arthas线上实战:Dubbo线程池耗尽故障排查

继续查看其中一个

thread 378
Arthas线上实战:Dubbo线程池耗尽故障排查

owned by DubboServerHandler 继续往下看

thread 146
Arthas线上实战:Dubbo线程池耗尽故障排查

整理一下,目前的结论是并非死锁,是数据库查询这里出了异常。奇怪,如果数据库有问题别的同类 服务为什么没有告警?

Arthas线上实战:Dubbo线程池耗尽故障排查

请运维大神排查,果然应用于数据库不在同一个网段,没有添加到ip白名单。

结论

扩容忽略了数据库链接。设置白名单问题修复。

思考

按照上面的排查看是与数据库连接出了问题,那这些跟Dubbo的dispatcher策略有没有关系呢? 网上搜索到了解决方案:(没有验证) 修改dubbo provider的dispatcher策略,设置为message

<dubbo:protocol name=“dubbo” port=“8888” threads=“500” dispatcher=“message” />

dispatcher默认为all,所有的请求,均会分发给业务线程池处理。 dubbo默认的业务线程池大小是200,等待队列长度为0, 当线程池全部满了之后,后续的请求会丢弃。 但丢弃的请求也会交给业务线程池处理, 此时可能出现服务端已拒绝,但consumer一直在等待,直到超时


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring Into HTML and CSS

Spring Into HTML and CSS

Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99

The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试