首批通过分布式安全可靠测评,为关键业务系统打造
OBServer 日志出现 out of px worker resource 的原因
更新时间:2023-12-07 03:16
问题现象
OBServer 日志中出现如下信息:
observer.log.20230216153947:[2023-02-16 15:39:40.824005] INFO [SQL] ob_px_admission.cpp:160 [7696][0][YB42C0A800B8-0005E32EC1D6FEB4-0-0] [lt=10] [dc=0] It's a px query, out of px worker resource, need delay, do not need disconnect(req_worker_count=24, admit_worker_count=0, plan.get_px_dop()=6, plan.get_plan_id()=10102029, ret=-5307)
问题原因
出现该问题的原因是 SQL 使用 PX 时 PX 线程不足,导致无法正常执行。
影响版本
OceanBase 数据库 V2.X 和 V3.X 版本。
解决方法及规避方式
可以使用如下命令,调整 parallel_servers_target 参数,增加 px 线程。 parallel_servers_target 用于设置每个 Server 上的大查询排队条件。当并行执行(Parallel eXecution,PX)消耗的线程数超过大查询排队条件后,后继并行执行需要排队等待。 修改参数之前,先通过如下语句查询下目前该参数的取值,然后再修改该参数。
obclient > SHOW variables LIKE "parallel_servers_target";
可以通过如下语句修改该参数:
obclient > SET GLOBAL parallel_servers_target=8;
注意
该参数需要重连数据库生效。