云数据库 GAUSSDB(FOR MYSQL)-多租户管理与资源隔离:资源计划指令(plan_directive)管理

时间:2024-08-02 14:03:56

资源计划指令(plan_directive)管理

通过租户下的用户连接数据库,进行资源计划指令管理。

  • 创建资源计划指令
    dbms_resource_manager.create_plan_directive (
       plan                    CHAR(128), 
       group_or_subplan        CHAR(128), 
       comment                 VARCHAR(2000), 
       mgmt_p1                 bigint(20),
       utilization_limit       bigint(20));
  • 更新资源计划指令
    dbms_resource_manager.update_plan_directive (
       plan                    CHAR(128), 
       group_or_subplan        CHAR(128), 
       new_comment             VARCHAR(2000), 
       new_mgmt_p1             bigint(20),
       new_utilization_limit   bigint(20));
  • 删除资源计划指令
    dbms_resource_manager.delete_plan_directive (
        plan                   CHAR(128), 
        group_or_subplan       VARCHAR(128));
  • 查看资源计划指令

    DBA_RSRC_PLAN_DIRECTIVES记录计划(plan)、消费组(consumer_group)的关联关系,以及对应消费组(consumer_group)的资源配置。

    SELECT * FROM information_schema.DBA_RSRC_PLAN_DIRECTIVES;
    • 对于共享租户,禁止使用;
    • 参数说明:

      plan:plan的名称。

      group_or_subplan:consumer_group的名称。

      comment:资源计划指令的描述信息,可为''。

      mgmt_p1:在系统满负载情况下,承诺分配给本消费组的CPU占比,取值范围[0, 100],100表示使用租户100%的CPU。

      utilization_limit:指定消费组使用的CPU资源的上限,取值范围为 [1, 100]。100表示最大可使用租户全部CPU资源,如果取值为70则表示最大可使用租户 70%的CPU资源。

    • 删除正在启用的plan_directive, 将导致对应用户的资源配置失效。
    • 同一消费组下的用户使用的资源总和不超过当前消费组的资源限制。例如:同一租户下有用户user1和user2,user1和user2属于consumer_group1,consumer_group1的UTILIZATION_LIMIT为70;则user1和user2实际使用的CPU资源总和最大为当前租户70%的CPU资源。
support.huaweicloud.com/usermanual-gaussdbformysql/gaussdbformysql_05_0347.html