PingKai Logo下载

ALTER RESOURCE GROUP

ALTER RESOURCE GROUP 语句用于在当前所选数据库中修改资源组。

语法图

AlterResourceGroupStmt
ALTER RESOURCE GROUP IfExists ResourceGroupName ResourceGroupOptionList
IfExists
IF EXISTS
ResourceGroupName
Identifier DEFAULT
ResourceGroupOptionList
DirectResourceGroupOption ResourceGroupOptionList DirectResourceGroupOption ResourceGroupOptionList , DirectResourceGroupOption
DirectResourceGroupOption
RU_PER_SEC EqOpt LengthNum PRIORITY EqOpt ResourceGroupPriorityOption BURSTABLE BURSTABLE EqOpt Boolean QUERY_LIMIT EqOpt ( ResourceGroupRunawayOptionList ) QUERY_LIMIT EqOpt ( ) QUERY_LIMIT EqOpt NULL BACKGROUND EqOpt ( BackgroundOptionList ) BACKGROUND EqOpt ( ) BACKGROUND EqOpt NULL
ResourceGroupPriorityOption
LOW MEDIUM HIGH
ResourceGroupRunawayOptionList
DirectResourceGroupRunawayOption ResourceGroupRunawayOptionList DirectResourceGroupRunawayOption ResourceGroupRunawayOptionList , DirectResourceGroupRunawayOption
DirectResourceGroupRunawayOption
EXEC_ELAPSED EqOpt stringLit PROCESSED_KEYS EqOpt intLit RU EqOpt intLit ACTION EqOpt ResourceGroupRunawayActionOption WATCH EqOpt ResourceGroupRunawayWatchOption DURATION EqOpt stringLit
ResourceGroupRunawayWatchOption
EXACT SIMILAR
ResourceGroupRunawayActionOption
DRYRUN COOLDOWN KILL SWITCH_GROUP ( ResourceGroupName )
BackgroundOptionList
DirectBackgroundOption BackgroundOptionList DirectBackgroundOption BackgroundOptionList , DirectBackgroundOption
DirectBackgroundOption
TASK_TYPES EqOpt stringLit UTILIZATION_LIMIT EqOpt LengthNum

TiDB 支持以下 DirectResourceGroupOption, 其中 Request Unit (RU) 是 TiDB 对 CPU、IO 等系统资源统一抽象的单位。

参数含义举例
RU_PER_SEC每秒 RU 填充的速度RU_PER_SEC = 500 表示此资源组每秒回填 500 个 RU。
PRIORITY任务在 TiKV 上处理的绝对优先级PRIORITY = HIGH 表示优先级高。若未指定则默认为 MEDIUM
BURSTABLE允许对应的资源组超出配额后使用空余的系统资源。
QUERY_LIMIT当查询执行满足该条件时,识别该查询为 Runaway Query 并执行相应的操作QUERY_LIMIT=(EXEC_ELAPSED='60s', ACTION=KILL, WATCH=EXACT DURATION='10m') 表示当执行时间超过 60 秒后识别为 Runaway Query,对该查询执行终止操作,并在 10 分钟内对同样的 SQL 直接执行终止操作。QUERY_LIMIT=()QUERY_LIMIT=NULL 则表示不进行 Runaway 控制。具体参数介绍参见管理资源消耗超出预期的查询 (Runaway Queries)。 |
BACKGROUND后台任务相关的设置。具体参数介绍参见管理后台任务BACKGROUND=(TASK_TYPES="br,stats", UTILIZATION_LIMIT=30) 表示将备份恢复和收集统计信息相关的任务作为后台任务调度,并且后台任务最多可以使用 TiKV 30% 的资源。

示例

创建一个名为 rg1 的资源组,并修改它的属性。

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
  BURSTABLE;
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+------------+----------+-----------+-------------+------------+
| NAME | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT | BACKGROUND |
+------+------------+----------+-----------+-------------+------------+
| rg1  | 100        | MEDIUM   | NO        | NULL        | NULL       |
+------+------------+----------+-----------+-------------+------------+
1 rows in set (1.30 sec)
ALTER RESOURCE GROUP rg1
  RU_PER_SEC = 200
  PRIORITY = LOW
  QUERY_LIMIT = (EXEC_ELAPSED='1s' ACTION=COOLDOWN WATCH=EXACT DURATION '30s');
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+------------+----------+-----------+----------------------------------------------------------------+------------+
| NAME | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT                                                    | BACKGROUND |
+------+------------+----------+-----------+----------------------------------------------------------------+------------+
| rg1  | 200        | LOW      | NO        | EXEC_ELAPSED='1s', ACTION=COOLDOWN, WATCH=EXACT DURATION='30s' | NULL       |
+------+------------+----------+-----------+----------------------------------------------------------------+------------+
1 rows in set (1.30 sec)

修改 default 资源组的后台任务 BACKGROUND 相关设置。

ALTER RESOURCE GROUP default BACKGROUND = (TASK_TYPES = "br,ddl", UTILIZATION_LIMIT=30);
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='default';
+---------+------------+----------+-----------+-------------+-------------------------------------------+
| NAME    | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT | BACKGROUND                                |
+---------+------------+----------+-----------+-------------+-------------------------------------------+
| default | UNLIMITED  | MEDIUM   | YES       | NULL        | TASK_TYPES='br,ddl', UTILIZATION_LIMIT=30 |
+---------+------------+----------+-----------+-------------+-------------------------------------------+
1 rows in set (1.30 sec)

MySQL 兼容性

MySQL 也支持 ALTER RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。

另请参阅