CREATE RESOURCE GROUP
你可以使用 CREATE RESOURCE GROUP 语句来创建资源组。
Note
该功能在 平凯数据库云服务 Starter 和 平凯数据库云服务 Essential 实例中不可用。
语法
- CreateResourceGroupStmt
- IfNotExists
- ResourceGroupName
- ResourceGroupOptionList
- DirectResourceGroupOption
- ResourceGroupPriorityOption
- ResourceGroupRunawayOptionList
- DirectResourceGroupRunawayOption
- WatchDurationOption
- ResourceGroupRunawayWatchOption
- ResourceGroupRunawayActionOption
资源组名称参数(ResourceGroupName)必须在全局范围内唯一。
TiDB 支持以下 DirectResourceGroupOption,其中 Request Unit (RU) 是 TiDB 中对 CPU、IO 及其他系统资源的统一抽象单位。
| 选项 | 描述 | 示例 |
|---|---|---|
RU_PER_SEC | 每秒回填 RU 的速率 | RU_PER_SEC = 500 表示该资源组每秒回填 500 个 RU |
PRIORITY | 在 TiKV 上处理任务的绝对优先级 | PRIORITY = HIGH 表示优先级为高。如果未指定,默认值为 MEDIUM。 |
BURSTABLE | 如果设置了 BURSTABLE 属性,TiDB 允许对应的资源组在超出配额时使用可用的系统资源。 | |
QUERY_LIMIT | 当查询执行满足该条件时,查询会被识别为异常查询并执行相应操作。 | QUERY_LIMIT=(EXEC_ELAPSED='60s', ACTION=KILL, WATCH=EXACT DURATION='10m') 表示当查询执行时间超过 60 秒时,该查询会被识别为异常查询并被终止。所有 SQL 文本相同的 SQL 语句将在接下来的 10 分钟内被立即终止。QUERY_LIMIT=() 或 QUERY_LIMIT=NULL 表示未启用异常查询控制。详见 异常查询。 |
Note
- 只有当全局变量
tidb_enable_resource_control设置为ON时,才能执行CREATE RESOURCE GROUP语句。 TiDB 在集群初始化时会自动创建一个default资源组。对于该资源组,RU_PER_SEC的默认值为UNLIMITED(等同于INT类型的最大值,即2147483647),并且处于BURSTABLE模式。所有未绑定到任何资源组的请求会自动绑定到该default资源组。当你为其他资源组创建新配置时,建议根据需要修改default资源组的配置。- 当前仅支持在
default资源组上修改BACKGROUND配置。
示例
创建两个资源组 rg1 和 rg2。
DROP RESOURCE GROUP IF EXISTS rg1;Query OK, 0 rows affected (0.22 sec)CREATE RESOURCE GROUP IF NOT EXISTS rg1
RU_PER_SEC = 100
PRIORITY = HIGH
BURSTABLE;Query OK, 0 rows affected (0.08 sec)CREATE RESOURCE GROUP IF NOT EXISTS rg2
RU_PER_SEC = 200 QUERY_LIMIT=(EXEC_ELAPSED='100ms', ACTION=KILL);Query OK, 0 rows affected (0.08 sec)SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1' or NAME = 'rg2';+------+------------+----------+-----------+---------------------------------+
| NAME | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT |
+------+------------+----------+-----------+---------------------------------+
| rg1 | 100 | HIGH | YES | NULL |
| rg2 | 200 | MEDIUM | NO | EXEC_ELAPSED=100ms, ACTION=KILL |
+------+------------+----------+-----------+---------------------------------+
2 rows in set (1.30 sec)MySQL 兼容性
MySQL 也支持 CREATE RESOURCE GROUP。但其可接受的参数与 TiDB 不同,因此两者不兼容。