---
title: 如何配置集群的 CPU 并发数 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于如何配置集群的 CPU 并发数 相关的常见问题和使用技巧，帮助您快速解决如何配置集群的 CPU 并发数 的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 如何配置集群的 CPU 并发数

更新时间：2023-11-14 03:16

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

本文主要介绍如何通过配置项 `workers_per_cpu_quota` 与 `cpu_quota_concurrency` 配置集群中每个 CPU 的并发数。

在 OceanBase 数据库中，`cpu_quota_concurrency` 配置项用于设置集群中每个 CPU 所允许的最大并发数，也可以理解为活跃线程数。对于 OceanBase 数据库 V1.X 版本，该配置项默认为 2；对于 OceanBase 数据库 V2.X 版本，该配置项默认为 4，取值范围为 [1, 10] 。

设置该配置项时，您需要结合实际情况进行设置。

- 该配置项值设置太大时，可能会导致部分线程分配不到 CPU。

  这是由于 CPU 可以扩展出的 worker 线程数是有限制的。`workers_per_cpu_quota` 参数用于设置集群中每个 CPU（也即 cpu_quota）可以扩展出的 worker 线程数，默认为 10，取值范围为 [2, 20]。为了确保每个线程都能分配到 CPU，两个参数的设置需要满足 `workers_per_cpu_quota` > `cpu_quota_concurrency`。

  例如，某个租户的资源池中包含 3 个 CPU，此时将 `workers_per_cpu_quota` 设置为 8，`cpu_quota_concurrency` 设置为 10，表示针对该租户可以扩展出的 worker 线程数为 24，但是允许的最大并发数为 30，会导致 6 个线程无法分配到 CPU。
 - 该配置项设置太小时，可能导致 RT（Response Time，响应时间） 高、内部任务处理不及时（比如迁移 unit 等)、CPU 利用不充分等。

  例如，某个租户的资源池中包含 3 个 CPU，此时将 `workers_per_cpu_quota` 设置为 8，`cpu_quota_concurrency` 设置为 5，表示针对该租户可以扩展出的 worker 线程数为 24，但是允许的最大并发数为 15，则对于该租户来讲，可以同时运行的最大线程数为 15，但是实际该租户是可以支撑 24 个线程同时运行的，会导致 CPU 利用不充分。

  有关上述两个参数的详细介绍，参见《OceanBase 数据库 参考指南》中的 **系统配置项** 章节。

Previous

[如何使用 mysqlslap 在 OceanBase 数据库中模拟客户端高并发或快速构造测试数据](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000052)

Next

[弱读从/只读副本遇到长事务切主场景下导致 CPU 使用率 100% 的原因](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000261689) ![有帮助](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) 咨询热线
