RESOURCE_GROUPS

RESOURCE_GROUPS 表展示所有资源组 (resource group) 的信息,见使用资源管控 (Resource Control) 实现资源隔离

  1. USE information_schema;
  2. DESC resource_groups;
  1. +------------+-------------+------+------+---------+-------+
  2. | Field | Type | Null | Key | Default | Extra |
  3. +------------+-------------+------+------+---------+-------+
  4. | NAME | varchar(32) | NO | | NULL | |
  5. | RU_PER_SEC | bigint(21) | YES | | NULL | |
  6. | PRIORITY | varchar(6) | YES | | NULL | |
  7. | BURSTABLE | varchar(3) | YES | | NULL | |
  8. +------------+-------------+------+------+---------+-------+
  9. 3 rows in set (0.00 sec)

示例

  1. SELECT * FROM information_schema.resource_groups; -- 查看资源组,TiDB 默认预置 `default` 资源组
  1. +---------+------------+----------+-----------+
  2. | NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
  3. +---------+------------+----------+-----------+
  4. | default | UNLIMITED | MEDIUM | YES |
  5. +---------+------------+----------+-----------+
  1. CREATE RESOURCE GROUP rg1 RU_PER_SEC=1000; -- 创建资源组 `rg1`
  1. Query OK, 0 rows affected (0.34 sec)
  1. SHOW CREATE RESOURCE GROUP rg1; -- 显示 `rg1` 资源组的定义
  1. +----------------+---------------------------------------------------------------+
  2. | Resource_Group | Create Resource Group |
  3. +----------------+---------------------------------------------------------------+
  4. | rg1 | CREATE RESOURCE GROUP `rg1` RU_PER_SEC=1000 PRIORITY="MEDIUM" |
  5. +----------------+---------------------------------------------------------------+
  6. 1 row in set (0.00 sec)
  1. SELECT * FROM information_schema.resource_groups WHERE NAME = 'rg1'; -- 查看资源组 `rg1`
  1. +------+------------+----------+-----------+-------------+
  2. | NAME | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT |
  3. +------+------------+----------+-----------+-------------+
  4. | rg1 | 1000 | MEDIUM | NO | NULL |
  5. +------+------------+----------+-----------+-------------+
  6. 1 row in set (0.00 sec)

RESOURCE_GROUPS 表中列的含义如下:

  • NAME:资源组名称。
  • RU_PER_SEC:资源组的回填速度,单位为每秒回填的 Request Unit (RU) 数量。
  • PRIORITY:任务在 TiKV 上处理的绝对优先级。不同的资源按照 PRIORITY 的设置进行调度,PRIORITY 高的任务会被优先调度。如果资源组的 PRIORITY 相同,则会根据 RU_PER_SEC 的配置按比例调度。如果不指定 PRIORITY,资源组的默认优先级为 MEDIUM
  • BURSTABLE:是否允许此资源组超额使用剩余的系统资源。

RESOURCE_GROUPS - 图1

注意

TiDB 集群在初始化时会自动创建 default 资源组,其 RU_PER_SEC 的默认值为 UNLIMITED (等同于 INT 类型最大值,即 2147483647),且为 BURSTABLE 模式。所有未绑定资源组的请求都将自动绑定至此资源组。在新建配置其他资源组时,建议根据实际情况修改 default 资源组的配置。