日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

WLM

更新時間:

AnalyticDB for MySQL在數(shù)據(jù)庫系統(tǒng)中提供了工作負載管理模塊,您可以使用Workload Manager命令配置工作負載管理規(guī)則,并通過多個規(guī)則對不同負載進行精細化控制,提高集群的整體運行狀態(tài)。本文介紹如何使用Workload Manager命令創(chuàng)建、修改、啟用、屏蔽和刪除工作負載管理規(guī)則。

前提條件

AnalyticDB for MySQL集群需要同時滿足以下條件:

  • 集群系列需為數(shù)倉版

  • 集群的內(nèi)核版本需為3.1.6.3及以上版本。

    說明

    查看企業(yè)版湖倉版集群的內(nèi)核版本,請參見如何查看實例版本信息。如需升級內(nèi)核版本,請聯(lián)系技術(shù)支持。

注意事項

  • 3.1.10.0及以上內(nèi)核版本的集群支持使用WLM命令修改規(guī)則。

  • AnalyticDB for MySQL對規(guī)則采用軟刪除策略,要求規(guī)則名稱唯一,所以重建的新規(guī)則不能與已刪除規(guī)則使用相同的規(guī)則名稱。

創(chuàng)建規(guī)則

語法

wlm add_rule
name=<ruleName>
type=query      
action=<ruleAtion>    
predicate='<property><operator><value> && <property><operator><value>'
[attrs='<ruleAttrs>']
[resource_group=<ruleResource_group>]
[description='<ruleDescription>']
[compatible_group=<compatible_group_name>]
[enabled=<ruleEnabled>]
[priority=<rulePriority>]
說明

等號兩側(cè)不允許有空格。

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

name

規(guī)則名稱。

說明

規(guī)則名稱要求唯一,新建規(guī)則不能與已刪除規(guī)則使用相同的規(guī)則名稱。

type

規(guī)則類型,固定為query。

action

工作負載管理提供的控制手段,滿足匹配條件后,會觸發(fā)操作。

控制手段的詳細說明,請參見控制手段

predicate

謂詞條件。

predicate語法:

  • 不同匹配條件之間是“與”關(guān)系,用&&連接。

  • 單匹配條件格式:$屬性 $運算符 $數(shù)值

  • 支持的運算符:>、<、>=、<=、=、!=、in等。

說明
  • 屬性和運算符的詳細說明,請參見屬性運算符

  • 運算符in兩側(cè)必須有空格,否則無法區(qū)分;其他運算符不需要空格。

  • 填寫該參數(shù)時,兩側(cè)需要使用單引號。

attrs

當action為RESUBMIT_RESOURCE_GROUPADD_PROPERTIESBLOCK_WITH_PROB時attrs為必填項。

如何填寫attrs,請參見控制手段的配置方法。

說明

填寫該參數(shù)時,兩側(cè)需要使用單引號。

resource_group

資源組名稱,默認為user_default。

說明

您可以登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,單擊目標集群ID,在資源組管理頁面查看集群的資源組。

description

描述信息。

說明

填寫該參數(shù)時,兩側(cè)需要使用單引號。

compatible_group

相容組。

默認情況下,匹配規(guī)則的方式是從規(guī)則的優(yōu)先級由高到低依次匹配規(guī)則,匹配到一條就直接結(jié)束。也可以將同時匹配多條規(guī)則的需求設(shè)置為同一個相容組。在規(guī)則匹配時,優(yōu)先匹配優(yōu)先級最高的規(guī)則,如果已匹配的規(guī)則存在相容組,相容組中剩余規(guī)則如有能同時匹配的,則同時匹配。

enabled

是否啟用規(guī)則,取值說明:

  • true(默認):啟用。

  • false:不啟用。

priority

啟用優(yōu)先級高的規(guī)則,默認為0。

每次匹配規(guī)則,只會匹配一條優(yōu)先級最高的規(guī)則,優(yōu)先級相同時,則根據(jù)創(chuàng)建時間越早的規(guī)則先進行匹配。

示例

  • 示例1:創(chuàng)建一條規(guī)則名稱為testRule1的規(guī)則,當用戶名為test且Pattern歷史執(zhí)行時間50分位值大于60000 ms時結(jié)束查詢。

    wlm add_rule 
    name=testRule1
    type=query 
    action=kill 
    predicate='user=test && PATTERN_RT_P50>60000';

    返回結(jié)果如下:

    +---------------------------------+
    | result                          |
    +---------------------------------+
    | insert rule 'testRule1' success |
    +---------------------------------+
  • 示例2:創(chuàng)建一條規(guī)則名稱為testRule2的規(guī)則,將用戶名為test且用戶IP在(10.10.10.10,192.168.0.1,192.0.2.1)中的查詢,增加query_priority=low的Hint,將查詢優(yōu)先級設(shè)置為low。

    wlm add_rule 
    name=testRule2 
    type=query 
    action=ADD_PROPERTIES 
    attrs='{"add_prop":{"query_priority":"low"}}' 
    predicate='user=test && source_ip in 10.10.10.10,192.168.0.1,192.0.2.1';

    返回結(jié)果如下:

    +---------------------------------+
    | result                          |
    +---------------------------------+
    | insert rule 'testRule2' success |
    +---------------------------------+
  • 示例3:為testResourceGroup資源組創(chuàng)建一條規(guī)則名稱為testRule3的規(guī)則,優(yōu)先級為5,將用戶名為test且類型為select的所有查詢?nèi)拷Y(jié)束。

    wlm add_rule
    name=testRule3
    type=query
    resource_group=testResourceGroup
    description='just a test'
    priority=5
    action=kill
    predicate='user=test && query_task_type=1';

    返回結(jié)果如下:

    +---------------------------------+
    | result                          |
    +---------------------------------+
    | insert rule 'testRule3' success |
    +---------------------------------+

修改規(guī)則

重要

3.1.10.0及以上內(nèi)核版本的集群支持使用WLM命令修改規(guī)則。

如何查看集群內(nèi)核版本,請參見如何查看實例版本信息。如需升級內(nèi)核版本,請聯(lián)系技術(shù)支持。

語法

wlm update_rule
id=<ruleId>
name=<ruleName>
type=query 
action=<ruleAtion> 
predicate='<property><operator><value> && <property><operator><value>'
[attrs='<ruleAttrs>']
[resource_group=<ruleResource_group>]
[description='<ruleDescription>']
[compatible_group=<compatible_group_name>]
[enabled=<ruleEnabled>]
[priority=<rulePriority>]
說明

等號兩側(cè)不允許有空格。

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

id

規(guī)則ID。規(guī)則ID是唯一的,用于匹配相應(yīng)規(guī)則,且不支持修改。

說明

您可以通過wlm list_rule語句查詢規(guī)則ID。詳情請參見查詢規(guī)則

name

規(guī)則名稱。修改規(guī)則名稱時,需要使用規(guī)則ID匹配相應(yīng)規(guī)則。

說明

修改后的規(guī)則不能與已創(chuàng)建的規(guī)則使用相同的規(guī)則名稱,否則會覆蓋已創(chuàng)建的同名規(guī)則。

type

規(guī)則類型,固定為query。

action

工作負載管理提供的控制手段,滿足匹配條件后,會觸發(fā)操作。

控制手段的詳細說明,請參見控制手段

predicate

謂詞條件。

predicate語法:

  • 不同匹配條件之間是“與”關(guān)系,用&&連接。

  • 單匹配條件格式:$屬性 $運算符 $數(shù)值

  • 支持的運算符:>、<、>=、<=、=、!=、in等。

說明
  • 屬性和運算符的詳細說明,請參見屬性運算符

  • 運算符in兩側(cè)必須有空格,否則無法區(qū)分;其他運算符不需要空格。

  • 填寫該參數(shù)時,兩側(cè)需要使用單引號。

attrs

當action為RESUBMIT_RESOURCE_GROUPADD_PROPERTIESBLOCK_WITH_PROB時attrs為必填項。

如何填寫attrs,請參見控制手段的配置方法。

填寫該參數(shù)時,兩側(cè)需要使用單引號。

resource_group

資源組名稱,默認為user_default。

說明

您可以登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,單擊目標集群ID,在資源組管理頁面查看集群的資源組。

description

描述信息。

說明

填寫該參數(shù)時,兩側(cè)需要使用單引號。

compatible_group

相容組。

默認情況下,匹配規(guī)則的方式是從規(guī)則的優(yōu)先級由高到低依次匹配規(guī)則,匹配到一條就直接結(jié)束。也可以將同時匹配多條規(guī)則的需求設(shè)置為同一個相容組。在規(guī)則匹配時,優(yōu)先匹配優(yōu)先級最高的規(guī)則,如果已匹配的規(guī)則存在相容組,相容組中剩余規(guī)則如有能同時匹配的,則同時匹配。

enabled

是否啟用規(guī)則,取值說明:

  • true(默認):啟用。

  • false:不啟用。

priority

啟用優(yōu)先級高的規(guī)則,默認為0。

每次匹配規(guī)則,只會匹配一條優(yōu)先級最高的規(guī)則,優(yōu)先級相同時,則根據(jù)創(chuàng)建時間越早的規(guī)則先進行匹配。

示例

  • 示例1:將規(guī)則ID為2的規(guī)則名稱修改為Rule。

    wlm update_rule 
    id=2
    name=Rule;

    返回結(jié)果如下:

    +-----------------+
    | result          |
    +-----------------+
    | update rule 2   |
    +-----------------+
  • 示例2:將testRule1規(guī)則的條件修改為當用戶名為test且Pattern歷史執(zhí)行時間50分位值大于80000 ms時結(jié)束查詢。

    wlm update_rule
    name=testRule1
    predicate='user=test && PATTERN_RT_P50>80000';

    或使用testRule1規(guī)則所對應(yīng)的規(guī)則ID修改:

    wlm update_rule 
    id=1
    predicate='user=test && PATTERN_RT_P50>80000';

    返回結(jié)果如下:

    +-----------------+
    | result          |
    +-----------------+
    | update rule 1   |
    +-----------------+
  • 示例3:將滿足testRule1規(guī)則的查詢投遞至testgroup資源組繼續(xù)執(zhí)行。

    修改前,testRule1規(guī)則為kill掉滿足條件的查詢:

    wlm add_rule 
    name=testRule1
    type=query 
    action=kill 
    predicate='user=test && PATTERN_RT_P50>60000';

    修改testRule1規(guī)則,把當前資源組的查詢都投遞到testgroup資源組執(zhí)行:

    wlm update_rule
    name=testRule1
    action=RESUBMIT_RESOURCE_GROUP
    attrs='{
        "resubmit":{
        "resource_group": "testgroup"
        }
    }'
    說明

    如何填寫attrs,請參見控制手段的配置方法。

    返回結(jié)果如下:

    +-----------------+
    | result          |
    +-----------------+
    | update rule 1   |
    +-----------------+

查詢規(guī)則

語法

wlm list_rule
[id=<ruleID>]
[name='<ruleName>'\G]

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

id

規(guī)則ID。

說明

不填寫ID和name將查詢所有未被刪除的規(guī)則,包括規(guī)則ID。

name

規(guī)則名稱。

說明
  • 填寫該參數(shù)時,兩側(cè)需要使用單引號。

  • 不填寫ID和name將查詢所有未被刪除的規(guī)則,包括規(guī)則名稱。

\G

將查詢結(jié)果按列打印,將每個字段打印到單獨的行。

示例

  • 示例1:查詢規(guī)則ID為testID1的規(guī)則。

    wlm list_rule 
    id=1 \G;

    返回結(jié)果如下:

                id: 1
                name: testRule4
         description: NULL
                type: QUERY
      resource_group: user_default
             enabled: 1
            priority: 0
             version: 1
          life_cycle: BEFORE_QUEUEING
    compatible_group:
         valid_begin: null
           valid_end: null
             creator: kepler
         update_user: kepler
         create_time: 2022-09-16 14:00:18
         update_time: 2022-09-16 14:00:18
           predicate: [{"property":"${session.user}","value":"test","operator":"equal"},{"property":"${session.source_ip}","value":"1,2,3","operator":"in"}]
              action: ADD_PROPERTIES
               attrs: {"add_prop":{"query_priority":"low"}}
    1 row in set (0.11 sec)
  • 示例2:查詢規(guī)則ID為testID1,規(guī)則名稱為testRule4的規(guī)則。

    mysql> wlm list_rule 
    id=1 
    name='testRule4' \G;

    返回結(jié)果如下:

                id: 1
                name: testRule4
         description: NULL
                type: QUERY
      resource_group: user_default
             enabled: 1
            priority: 0
             version: 1
          life_cycle: BEFORE_QUEUEING
    compatible_group:
         valid_begin: null
           valid_end: null
             creator: kepler
         update_user: kepler
         create_time: 2022-09-16 14:00:18
         update_time: 2022-09-16 14:00:18
           predicate: [{"property":"${session.user}","value":"test","operator":"equal"},{"property":"${session.source_ip}","value":"1,2,3","operator":"in"}]
              action: ADD_PROPERTIES
               attrs: {"add_prop":{"query_priority":"low"}}
    1 row in set (0.09 sec)

屏蔽規(guī)則

語法

wlm disable_rule id=<ruleID>

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

id

規(guī)則ID。

說明

您可以執(zhí)行wlm list_rule命令,查詢規(guī)則ID。詳細信息,請參見查詢規(guī)則

示例

  • 示例1:屏蔽ID為testID1的規(guī)則。

    wlm disable_rule id=1;

    返回結(jié)果如下:

    +------------------+
    | result           |
    +------------------+
    | disable rule 1   |
    +------------------+
  • 示例2:查詢ID為testID1的規(guī)則。

    wlm list_rule id=1\G;

    返回結(jié)果如下:

                id: 1
                name: testRule4
         description: NULL
                type: QUERY
      resource_group: user_default
             enabled: 0
            priority: 0
             version: 1
          life_cycle: BEFORE_QUEUEING
    compatible_group:
         valid_begin: null
           valid_end: null
             creator: kepler
         update_user: kepler
         create_time: 2022-09-16 14:00:18
         update_time: 2022-09-16 14:00:18
           predicate: [{"property":"${session.user}","value":"test","operator":"equal"},{"property":"${session.source_ip}","value":"1,2,3","operator":"in"}]
              action: ADD_PROPERTIES
               attrs: {"add_prop":{"query_priority":"low"}}

啟用規(guī)則

語法

wlm enable_rule id=<ruleID>

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

id

規(guī)則ID。

說明

您可以執(zhí)行wlm list_rule命令,查詢規(guī)則ID。詳細信息,請參見查詢規(guī)則

示例

  • 示例1:啟用ID為testID1的規(guī)則。

    wlm enable_rule id=1;

    返回結(jié)果如下:

    +----------------+
    | result         |
    +----------------+
    | enable rule 1  |
    +----------------+
  • 示例2:查詢ID為testID1的規(guī)則。

    wlm list_rule id=1\G;

    返回結(jié)果如下:

                id: 1
                name: testRule4
         description: NULL
                type: QUERY
      resource_group: user_default
             enabled: 1
            priority: 0
             version: 1
          life_cycle: BEFORE_QUEUEING
    compatible_group:
         valid_begin: null
           valid_end: null
             creator: kepler
         update_user: kepler
         create_time: 2022-09-16 14:00:18
         update_time: 2022-09-16 14:00:18
           predicate: [{"property":"${session.user}","value":"test","operator":"equal"},{"property":"${session.source_ip}","value":"1,2,3","operator":"in"}]
              action: ADD_PROPERTIES
               attrs: {"add_prop":{"query_priority":"low"}}

刪除規(guī)則

語法

wlm delete_rule id=<ruleID>

參數(shù)說明

參數(shù)名稱

是否必填

參數(shù)說明

id

規(guī)則ID。

說明

您可以執(zhí)行wlm list_rule命令,查詢規(guī)則ID。詳細信息,請參見查詢規(guī)則

示例

  • 示例1:刪除ID為testID1的規(guī)則。

    wlm delete_rule id=1;

    返回結(jié)果如下:

    +----------------+
    | result         |
    +----------------+
    | delete rule 1  |
    +----------------+
  • 示例2:查詢ID為testID1的規(guī)則。

    wlm list_rule id=1\G;

    返回結(jié)果如下:

    Empty set

計算pattern_hash

語法

wlm calc_pattern_hash <SQL>

參數(shù)說明

參數(shù)說明

是否必填

說明

SQL

SELECT語句或帶有SELECT的寫入語句。

示例

計算查詢語句的pattern_hash。

wlm calc_pattern_hash select * from t where a=1 and b=2;

返回結(jié)果如下:

+-----------------------------------+----------------------+
| raw_sql                           | pattern_hash         |
+-----------------------------------+----------------------+
| select * from t where a=1 and b=2 | -4759960226441980963 |
+-----------------------------------+----------------------+

打印WLM幫助信息

不帶任何參數(shù)執(zhí)行wlm命令即會打印幫助信息。

wlm;

返回結(jié)果如下:

+---------------------------+-------------------------------------+
| command                   | description                         |
+---------------------------+-------------------------------------+
| calc_pattern_hash         | calculate pattern_hash of query     |
| add_rule                  | add a new rule                      |
| list_rule id=[x]|name=[x] | list all rules OR filter by id/name |
| disable_rule id=[x]       | disable a rule by id                |
| enable_rule id=[x]        | enable a rule by id                 |
| delete_rule id=[x]        | delete a rule by id                 |
| update_rule id=[x]        | update a rule by id                 |
+---------------------------+-------------------------------------+

附錄

附錄1:屬性

類別

字段

數(shù)據(jù)類型

說明

查詢屬性

user

字符串

發(fā)送查詢的用戶。

source_ip

字符串

發(fā)送查詢的IP。

query_task_type

數(shù)值

查詢的類型,取值說明:

  • 1:SELECT

  • 2:DELETE

  • 3:UPDATE

  • 4:INSERT INTO SELECT/INSERT OVERWRITE SELECT/REPLACE INTO SELECT

  • 5:CREATE VIEW

query_table_list

字符串列表

查詢掃描到的表。

query_db_list

字符串列表

查詢掃描到的數(shù)據(jù)庫。

pattern_hash

數(shù)值

查詢Pattern的Hash值,用于確定同類Pattern的查詢。

sql

字符串

查詢原始的SQL語句。

重要

僅3.1.8.3及以上內(nèi)核版本的集群支持該屬性。

查詢運行時指標

說明

查詢運行時指標用于在查詢進入隊列后,對查詢進行控制。

QUERY_PROCESS_TIME

數(shù)值

查詢過程中所有Task的耗時總和,可以粗略地衡量一個查詢的計算量。單位:ms。

QUERY_EXECUTION_TIME

數(shù)值

查詢執(zhí)行耗時(不含排隊耗時)。單位:ms。

QUERY_SUBMITTED_TIME

數(shù)值

創(chuàng)建查詢的時間戳。

QUERY_TOTAL_TASK

數(shù)值

查詢物理執(zhí)行計劃Task總數(shù)。

QUERY_INPUT_DATA_SIZE

數(shù)值

查詢的讀取數(shù)據(jù)量。單位:MB。

QUERY_SHUFFLE_DATA_SIZE

數(shù)值

查詢的Shuffle數(shù)據(jù)量。單位:MB。

QUERY_OUTPUT_DATA_SIZE

數(shù)值

查詢的輸出數(shù)據(jù)量。單位:MB。

QUERY_PEAK_MEMORY

數(shù)值

查詢的Peak Memory,單位:MB。

QUERY_TOTAL_STAGES

數(shù)值

查詢執(zhí)行計劃的Stages總數(shù)。

查詢Pattern屬性

說明

查詢Pattern屬性可以反映查詢歷史的執(zhí)行情況。

PATTERN_RT_P50

數(shù)值

同Pattern查詢歷史執(zhí)行時間50分位值。單位:ms。

PATTERN_RT_P90

數(shù)值

同Pattern查詢歷史執(zhí)行時間90分位值。單位:ms。

PATTERN_EXECUTION_TIME_P50

數(shù)值

同Pattern查詢歷史執(zhí)行時間(去除排隊)50分位值。單位:ms。

PATTERN_EXECUTION_TIME_P90

數(shù)值

同Pattern查詢歷史執(zhí)行時間(去除排隊)90分位值。單位:ms。

PATTERN_WALL_TIME_P50

數(shù)值

同Pattern查詢歷史Wall Time50分位值。單位:ms。

PATTERN_WALL_TIME_P90

數(shù)值

同Pattern查詢歷史Wall Time90分位值。單位:ms。

PATTERN_SHUFFLE_SIZE_AVG

數(shù)值

同Pattern查詢歷史Shuffle數(shù)據(jù)平均值。單位:單位:Byte。

PATTERN_PEAK_MEMORY_AVG

數(shù)值

同Pattern查詢歷史Peak Memory平均值。單位:Byte。

PATTERN_INPUT_POSITION_AVG

數(shù)值

同Pattern查詢歷史輸入記錄數(shù)平均值。單位:行。

PATTERN_OUTPUT_POSITION_AVG

數(shù)值

同Pattern查詢歷史輸出記錄數(shù)平均值。單位:行。

附錄2:運算符

運算符

適用的數(shù)據(jù)類型

說明

>

數(shù)值

<

數(shù)值

=

數(shù)值、字符串

>=

數(shù)值

<=

數(shù)值

!=

數(shù)值、字符串

in

字符串列表

字符串列表是否存在交集。

contains

字符串

字符串中是否包含某些特定字符串,主要用于查詢原始的SQL語句。

重要

僅3.1.8.3及以上內(nèi)核版本的集群支持該運算符。

附錄3:控制手段

控制手段

說明

attrs配置方法

KILL

結(jié)束查詢。

RESUBMIT_RESOURCE_GROUP

停止當前資源組內(nèi)滿足條件查詢,并提交到另一個資源組執(zhí)行。

{ "resubmit": {"resource_group":"<resource_group_name>"}}

resource_group_name:資源組名稱。

說明

您可以登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,單擊目標集群ID,在資源組管理頁面查看集群的資源組。

ADD_PROPERTIES

修改查詢的屬性。通常用于修改查詢優(yōu)先級,也可以修改Hint配置的其他查詢屬性。

{ "add_prop": {"query_priority": "<Priority level>", "force":"false"}}

  • Priority level:查詢優(yōu)先級。取值為整數(shù)或字符串,說明如下:

    • 取值為整數(shù)時,范圍為0~39。數(shù)值越大優(yōu)先級越高。

    • 取值為字符串時,說明如下:

      • LOWEST:優(yōu)先級最低。對應(yīng)的整數(shù)取值為5。

      • LOW:優(yōu)先級較低。對應(yīng)的整數(shù)取值為15。

      • NORMAL:優(yōu)先級普通。對應(yīng)的整數(shù)取值為25。

      • HIGH:優(yōu)先級最高。對應(yīng)的整數(shù)取值為35。

    詳細信息,請參見優(yōu)先級隊列與并發(fā)控制

  • force:是否強制覆蓋已設(shè)置的查詢屬性。

    • true(默認值):覆蓋。

    • false:不覆蓋。

    說明

    3.1.9.4以下內(nèi)核版本的集群不支持force屬性,默認不覆蓋已配置的查詢屬性。如何查看集群內(nèi)核版本,請參見查看實例版本信息

BLOCK_WITH_PROB

以一定概率在查詢?nèi)腙犌敖Y(jié)束查詢。通常用于限流。

{ "block_prob": {"prob":<prob_value>}}

prob_value:結(jié)束查詢的概率,取值范圍為0~1。