リソースグループの変更

ALTER RESOURCE GROUPステートメントは、データベース内のリソース グループを変更するために使用されます。

注記:

この機能はTiDB サーバーレスクラスターでは使用できません。

概要

AlterResourceGroupStmt
ALTERRESOURCEGROUPIfExistsResourceGroupNameResourceGroupOptionList
IfExists
IFEXISTS
ResourceGroupName
IdentifierDEFAULT
ResourceGroupOptionList
DirectResourceGroupOptionResourceGroupOptionListDirectResourceGroupOptionResourceGroupOptionList,DirectResourceGroupOption
DirectResourceGroupOption
RU_PER_SECEqOptstringLitPRIORITYEqOptResourceGroupPriorityOptionBURSTABLEBURSTABLEEqOptBooleanQUERY_LIMITEqOpt(ResourceGroupRunawayOptionList)QUERY_LIMITEqOpt()QUERY_LIMITEqOptNULLBACKGROUNDEqOpt(BackgroundOptionList)BACKGROUNDEqOpt()BACKGROUNDEqOptNULL
ResourceGroupPriorityOption
LOWMEDIUMHIGH
ResourceGroupRunawayOptionList
DirectResourceGroupRunawayOptionResourceGroupRunawayOptionListDirectResourceGroupRunawayOptionResourceGroupRunawayOptionList,DirectResourceGroupRunawayOption
DirectResourceGroupRunawayOption
EXEC_ELAPSEDEqOptstringLitACTIONEqOptResourceGroupRunawayActionOptionWATCHEqOptResourceGroupRunawayWatchOptionDURATIONEqOptstringLit
ResourceGroupRunawayWatchOption
EXACTSIMILAR
ResourceGroupRunawayActionOption
DRYRUNCOOLDOWNKILL
BackgroundOptionList
DirectBackgroundOptionBackgroundOptionListDirectBackgroundOptionBackgroundOptionList,DirectBackgroundOption
DirectBackgroundOption
TASK_TYPESEqOptstringLit

TiDB は次のDirectResourceGroupOptionをサポートします。3 リクエストユニット (RU) 、CPU、IO、およびその他のシステム リソース用の TiDB 内の統一された抽象化単位です。

オプション説明
RU_PER_SEC1秒あたりのRUバックフィル速度RU_PER_SEC = 500 、このリソース グループが 1 秒あたり 500 RU でバックフィルされることを示します。
PRIORITYTiKVで処理されるタスクの絶対的な優先度PRIORITY = HIGH優先度が高いことを示します。指定しない場合、デフォルト値はMEDIUMです。
BURSTABLEBURSTABLE属性が設定されている場合、TiDB は、クォータを超えたときに、対応するリソース グループが使用可能なシステム リソースを使用することを許可します。
QUERY_LIMITクエリ実行がこの条件を満たす場合、クエリはランナウェイ クエリとして識別され、対応するアクションが実行されます。QUERY_LIMIT=(EXEC_ELAPSED='60s', ACTION=KILL, WATCH=EXACT DURATION='10m') 、実行時間が 60 秒を超えるとクエリがランナウェイ クエリとして識別されることを示します。クエリは終了します。同じ SQL テキストを持つすべての SQL ステートメントは、今後 10 分以内に即時に終了しますQUERY_LIMIT=()またはQUERY_LIMIT=NULL 、ランナウェイ制御が有効になっていないことを意味します。6 ランナウェイクエリ参照してください。
BACKGROUNDバックグラウンドタスクを設定します。詳細については、 バックグラウンドタスクを管理する参照してください。BACKGROUND=(TASK_TYPES="br,stats") 、バックアップと復元、および統計収集関連のタスクがバックグラウンド タスクとしてスケジュールされていることを示します。

注記:

  • ALTER RESOURCE GROUPステートメントは、グローバル変数tidb_enable_resource_controlONに設定されている場合にのみ実行できます。
  • ALTER RESOURCE GROUPステートメントは増分変更をサポートし、指定されていないパラメータは変更されません。ただし、 QUERY_LIMITBACKGROUND両方とも全体として使用され、部分的に変更することはできません。
  • 現在、 BACKGROUND構成の変更をサポートしているのはdefaultリソース グループのみです。

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");
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' | +---------+------------+----------+-----------+-------------+---------------------+ 1 rows in set (1.30 sec)

MySQL 互換性

MySQL もリソースグループの変更サポートしていますが、許容されるパラメータが TiDB と異なるため互換性がありません。

参照

このページは役に立ちましたか?