OceanBase 资源组(Resource Group)对 IOPS 的精细化控制,以下说法正确的是?
A. 资源组仅能限制 CPU 资源,不能限制 IOPS。租户级别的 IOPS 隔离通过 MIN_IOPS 和 MAX_IOPS 在 Unit Config 中设置,资源组无法细分。
B. 通过资源组,可以将不同用户的后台任务(如合并、DDL)与前台 OLTP 查询分配到不同的 IOPS 队列,并分别设置不同的 IOPS 上限和优先级。
C. 资源组对 IOPS 的限制是基于每秒请求数(IOPS)而非带宽(MB/s),且最小调整粒度为 100 IOPS。
D. 当多个资源组同时存在时,系统采用严格优先级调度,高优先级资源组可以完全抢占低优先级资源组的 IOPS 配额,低优先级组可能被饿死。
解析 :
OceanBase 资源组(通过 CREATE RESOURCE GROUP 和 SET RESOURCE GROUP 配合 DBMS_RESOURCE_MANAGER )支持对 CPU 和 IOPS 进行细粒度控制。对于 IOPS,系统将 I/O 请求分为不同的类别(如 USER、SYS、DDL、COMPACTION 等),每个资源组可以绑定特定类别,并设置 IOPS_LIMIT 和 PRIORITY (如 HIGH、MEDIUM、LOW)。后台合并和 DDL 可以被归为低优先级的资源组,避免干扰在线业务。这实现了在同一租户内对不同工作负载的 IOPS 隔离。
-
A 错误 :资源组支持 IOPS 限制 (V4.x 版本),不是仅限 CPU。
-
B 正确 :资源组可以将后台任务和前台查询放入不同组,并分别设限。
-
C 错误 :资源组 IOPS 的最小调整粒度不固定为 100,可以更低(如 1 IOPS),取决于系统版本和配置。且 IOPS 限制是基于带宽还是请求数?底层实现主要基于请求数(IOPS),但可转化为带宽近似控制。C 的说法过于绝对且数值不准确。
-
D 错误 :资源组调度是加权优先级 而非严格抢占。高优先级组可以获得更多配额,但低优先级组不会被完全饿死,系统会保证一定的公平性(如最低配额保障)。D 描述的是“严格优先级”,不符合实际。
jh_7a
#4
可可可
#6
B. 通过资源组,可以将不同用户的后台任务(如合并、DDL)与前台 OLTP 查询分配到不同的 IOPS 队列,并分别设置不同的 IOPS 上限和优先级。