线程池队列满了怎么办 线程池满了怎么办?
浏览量:2826
时间:2021-03-16 17:30:24
作者:admin
线程池满了怎么办?
不要盯着线程池,而是看问题在哪。
比如是任务太多,CPU太满,调大线程池无用。这时应该先加CPU,或者加机器。
如果CPU很富裕,是线程池上限卡住了,简单调大最大值即可。
如果是任务执行时间实在是太长了,让“请求在任务完成后再返回”这个设定不合适,造成用户体验差,那么应该将系统设计为启动任务后请求就返回 定时的ping任务完没完。
dubbo线程池满了会超时吗?
在dubbo调用过程中被调用方有两个线程池:io线程池,业务线程池。
这也是dubbo调优的点。
配置信息:
Dispatcher
all 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。
direct 所有消息都不派发到线程池,全部在 IO 线程上直接执行。
message 只有请求响应消息派发到线程池,其它连接断开事件,心跳等消息,直接在 IO 线程上执行。
execution 只请求消息派发到线程池,不含响应,响应和其它连接断开事件,心跳等消息,直接在 IO 线程上执行。
connection 在 IO 线程上,将连接断开事件放入队列,有序逐个执行,其它消息派发到线程池。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。