---
title: "并发控制与排队 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 并发控制与排队 在特定场景下，由于等待线程资源，可能会对并行查询进行排队。 并发控制 通过租户级变量 PARALLEL_SERVERS_TARGET ，您可以指定租户在每个节点上最多可提供的并行执行工作线程数。在并行查询开始之前，会从所有相关 observer 预约工作线程资源。只要其中任何一个 observer 无…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 并发控制与排队

更新时间：2026-06-21 15:17:28

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/1000.performance-tuning-guide/500.sql-optimization/350.parallel-execution/300.deploy-parallel-execution/200.concurrency-control-and-queuing.md)  

在特定场景下，由于等待线程资源，可能会对并行查询进行排队。

## 并发控制

通过租户级变量 [PARALLEL_SERVERS_TARGET](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686985)，您可以指定租户在每个节点上最多可提供的并行执行工作线程数。在并行查询开始之前，会从所有相关 observer 预约工作线程资源。只要其中任何一个 observer 无法为并行查询提供足够的资源，该查询就不会投入执行。此并行查询会被重新排队，等待下一次执行时重新尝试获取线程资源，直到能够获取足够的工作线程资源为止。整个查询执行完成后，会立即释放预约的工作线程资源。

我们将这种“尝试预约工作线程资源-资源不足重新排队-再次获得执行机会-再次尝试预约工作线程资源”的过程称为并行查询排队。并行执行资源管理器是负责管理所有 observer 工作线程资源预约的模块。

为了计算每个并行查询需要的工作线程数，并行执行资源管理器会将查询计划进行 DFO 划分，模拟调度 DFO 过程，并根据 parallel hint、table parallel 等参数计算出该查询在每个 observer 上需要的最大线程数。这组线程数被称为“资源向量”。

资源向量是逻辑概念，用于控制并发与排队。通过资源向量从并行执行资源管理器中预约到足够的工作线程资源后，该并行查询会投入执行。在执行过程中，尽管随着不同 DFO 的调度执行，会不断有物理线程的获取和释放，但逻辑上的线程资源并不会归还给并行执行资源管理器。只有在并行查询完全执行完成后，这组资源向量才会归还给并行执行资源管理器。

当大量并发查询从并行执行资源管理器预约线程资源时，采用先来先服务的策略，直至资源分配殆尽，无法满足任何一个查询的资源需求为止。之后的查询都会重新排队，再次调度时重试获取资源。

## 工作线程分配

在租户的每个 observer 上都有一个并行执行线程池，用于执行并行查询任务。在执行任务时，如果线程池中线程数量不足，会动态扩容线程池。如果线程池中的线程空闲时间超过 10 分钟，会触发自动缩容到 10 个线程；如果线程池中的线程空闲时间超过 60 分钟，会触发进一步缩容，可能缩容到 0 个线程。

一旦并行查询获得调度执行，每个 DFO 总是可以在它涉及到的 observer 的并行执行线程池中获得所需的并行线程资源。需要注意的是，默认情况下，每个 DFO 在一个 observer 上分配的线程数，不得大于租户 MIN CPU * 10。如果 DFO 提出的资源需求大于这个值，会被自动降低为 MIN CPU * 10。

## 两级资源控制

对于任意并行查询，它会经历两级资源控制：

- 全局控制：在执行资源管理器的控制下，预约包含足够执行线程的资源向量。
 - 局部控制：在并行执行线程池的控制下，分配期望的物理线程数。

全局控制会考虑分布式场景下的资源获取，局部控制仅考虑单机线程池的资源分配，二者各司其职。前者确保 Query 通过检查后一定能够执行下去，不会在运行时遇到拿不到资源的问题，后者确保极端情况下单个 Query 的 DFO 不会申请远大于能够有效利用的物理线程数，造成线程资源浪费。一个并行查询，只要通过了全局控制阶段，就可以顺利执行，无论并发多大，都不会遇到物理线程数不足的问题。

## 并行执行资源管理

并行执行资源管理器拥有全局视角，通过视图 `GV$OB_PX_TARGET_MONITOR` 可以查看租户内每个 observer 的线程预约状态。有关视图字段详细含义，请参见 [GV$OB_PX_TARGET_MONITOR](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684513)。

```sql
obclient> SELECT  * FROM GV$OB_PX_TARGET_MONITOR;
+--------------+----------+-----------+-----------+-----------------+--------------+-----------+-------------+------------------+-------------------+------------------------------+
| SVR_IP       | SVR_PORT | TENANT_ID | IS_LEADER | VERSION         | PEER_IP      | PEER_PORT | PEER_TARGET | PEER_TARGET_USED | LOCAL_TARGET_USED | LOCAL_PARALLEL_SESSION_COUNT |
+--------------+----------+-----------+-----------+-----------------+--------------+-----------+-------------+------------------+-------------------+------------------------------+
| 192.xx.xx.xx |    19512 |      1004 | N         | 555393108309134 | 192.xx.xx.xx |     19510 |          10 |                6 |                 0 |                            0 |
| 192.xx.xx.xx |    19512 |      1004 | N         | 555393108309134 | 192.xx.xx.xx |     19512 |          10 |                0 |                 0 |                            0 |
| 192.xx.xx.xx |    19510 |      1004 | Y         | 555393108309134 | 192.xx.xx.xx |     19510 |          10 |

 6 |                 6 |                            1 |
| 192.xx.xx.xx |    19510 |      1004 | Y         | 555393108309134 | 192.xx.xx.xx |     19512 |          10 |                 0 |                 0 |                            1 |
+--------------+----------+-----------+-----------+-----------------+--------------+-----------+-------------+------------------+-------------------+------------------------------+
4 rows in set

```

在瞬态时，不同 observer 看到的全局状态可能不一致，但后台每 500 毫秒同步一次全局状态。总体上，各个 observer 看到的状态会基本一致，不会有太大偏差。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
