OceanBase 中 cgroup 资源隔离与租户级参数 `cpu_quota_concurrency` 的协同作用,以下说法正确的是

关于 OceanBase 中 cgroup 资源隔离与租户级参数 cpu_quota_concurrency 的协同作用,以下说法正确的是?

A. cpu_quota_concurrency 参数用于限制租户内同时活跃的工作线程数量,而 cgroup 限制的是租户可使用的 CPU 时间份额。两者独立配置,互不影响。

B. 当 cgroup 对租户的 CPU 使用上限低于 cpu_quota_concurrency 对应所需的 CPU 资源时,系统会以 cgroup 的限制为准,并自动降低租户内并行查询的并发度。

C. 启用 cgroup 后,租户级别的 cpu_quota_concurrency 参数将完全失效,所有并发控制由 cgroup 接管。

D. cpu_quota_concurrency 仅对后台任务(如合并)生效,前台 SQL 的并发由 cgroup 直接控制,二者分别作用于不同任务类型。

解析
cpu_quota_concurrency 是租户级参数,控制该租户在所有 OBServer 上可同时运行的活跃工作线程总数(逻辑并发上限)。cgroup 则从操作系统层面限制租户进程实际可用的 CPU 时间份额(物理资源上限)。当物理资源不足时,系统会综合考虑两者的约束,主动降低并行查询的 DOP 或排队等待,避免过高的逻辑并发争抢有限的 CPU 时间。

  • A 错误 :两者并非完全独立,系统会协同决策资源分配。
  • B 正确 :cgroup CPU 配额不足时,系统会动态调整并发度或排队。
  • C 错误 :租户参数不会失效,两者共同作用。
  • D 错误cpu_quota_concurrency 对所有任务类型(前台 SQL、后台合并等)均生效
1 个赞

正确答案:B

1 个赞

so good

1 个赞

支持一下

1 个赞