Doris集群写入数据时,提示“Thread pool FragmentMgrThreadPool is at capacity xxx”如何处理?
问题现象
通过JDBC向Doris集群并发写入数据时,客户端写入失败,并出现如图片中的报错信息:Thread pool FragmentMgrThreadPool is at capacity xxx。
分析原因
BE节点查询请求次数过多,超过最大限制数量。
处理办法
您可以通过降低业务的并发量或者扩容集群节点。
- fragment_pool_thread_num_max,最大查询线程数,默认值为2048,可以调整为6144。
- fragment_pool_queue_size,单节点上能够处理的查询请求上限,默认值为4096,可以调整为12288。

这两个参数的默认值能够满足大部分业务场景的需求。在调大参数之前,需要评估BE节点的CPU和内存使用率是否过高。如果CPU或者内存使用率已经超过70%,调大参数可能会导致节点资源瓶颈,建议调整业务并发量或者进行节点扩容。