リソースグループの作成

CREATE RESOURCE GROUPステートメントを使用してリソース グループを作成できます。

注記:

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

概要

CreateResourceGroupStmt
CREATERESOURCEGROUPIfNotExistsResourceGroupNameResourceGroupOptionList
IfNotExists
IFNOTEXISTS
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_ELAPSEDEqOptstringLitACTIONEqOptResourceGroupRunawayActionOptionWATCHEqOptResourceGroupRunawayWatchOptionWatchDurationOption
WatchDurationOption
DURATIONEqOptstringLitDURATIONEqOptUNLIMITED
ResourceGroupRunawayWatchOption
EXACTSIMILARPLAN
ResourceGroupRunawayActionOption
DRYRUNCOOLDOWNKILL

リソースグループ名パラメータ( ResourceGroupName )はグローバルに一意である必要があります。

TiDB は次のDirectResourceGroupOptionサポートしますリクエストユニット (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ランナウェイ制御が有効になっていないことを意味しますランナウェイクエリ参照してください。

注記:

  • CREATE RESOURCE GROUPステートメントは、グローバル変数tidb_enable_resource_controlONに設定されている場合にのみ実行できます。TiDB は、クラスターの初期化中にdefaultリソース グループを自動的に作成します。このリソース グループの場合、 RU_PER_SECのデフォルト値はUNLIMITED ( INTタイプの最大値である2147483647に相当) であり、 BURSTABLEモードです。どのリソース グループにもバインドされていないすべてのリクエストは、このdefaultリソース グループに自動的にバインドされます。別のリソース グループに新しい構成を作成する場合は、必要に応じてdefaultリソース グループの構成を変更することをお勧めします。
  • 現在、 BACKGROUND構成の変更をサポートしているのはdefaultリソース グループのみです。

2 つのリソース グループrg1rg2を作成します。

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 もリソースグループの作成サポートしていますが、許容されるパラメータが TiDB と異なるため互換性がありません。

参照

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