暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss学习笔记-235 openGauss性能调优-系统调优-资源负载管理-资源管理准备-创建资源池

原创 shuchaoyang 2024-11-23
154

openGauss学习笔记-235 openGauss性能调优-系统调优-资源负载管理-资源管理准备-创建资源池

235.1 背景信息

openGauss支持通过创建资源池对主机资源进行划分。开启资源负载管理之后,仅使用默认资源池并不能满足业务对资源负载管理的诉求,必须根据需要创建新的资源池,对系统资源进行重分配,来满足实际业务对系统资源精细管理的需要。普通资源池的特点见表1

表 1 普通资源池的特点

资源池分类特点
普通资源池(普通场景)关联Workload控制组。且必须没有组资源池关联该控制组对应的子class。即如果创建业务资源池关联控制组‘class1:wd’,那么必须没有组资源池关联‘class1’。mem_percent默认为0%,没有mem_percent相加小于100%的限制。

在开启了资源负载管理功能之后,系统会自动创建default_pool,当一个会话或者用户没有指定关联的资源池时,都会被默认关联到default_pool。default_pool默认绑定DefaultClass:Medium控制组,并且不限制所关联的业务的并发数。default_pool的详细属性如表2所示。

表 2 default_pool属性

属性属性值说明
respool_namedefault_pool资源池名称。
mem_percent100最大占用内存百分比。
cpu_affinity-1CPU亲和性,保留参数。
control_groupDefaultClass:Medium资源池关联的控制组。
active_statements-1资源池允许的最大并发数。-1为不限制并发数量,最大值不超过INT_MAX。
max_dop1开启SMP后,算子执行的并发度,保留参数。
memory_limit8GB内存使用上限,保留参数。
parentid0父资源池OID。
io_limits0每秒触发IO的次数上限。行存单位是万次/s,列存是次/s。0表示不控制,最大值不超过INT_MAX。
io_priorityNoneIO利用率高达90%时,重消耗IO作业进行IO资源管控时关联的优先级等级。None表示不控制。
nodegroupInstallationGuide资源池所在的逻辑集群的名称(单机下不生效)。
is_foreignf资源池不用于逻辑集群之外的用户(单机下不生效)。

img 须知: openGauss不允许对default_pool参数进行修改。

235.2 前提条件

已熟悉CREATE RESOURCE POOL、ALTER RESOURCE POOL和DROP RESOURCE POOL语法的使用。

235.3 操作过程

235.3.1 创建资源池

  1. 使使用gsql访问openGauss数据库。

  2. 创建组资源池关联到指定的子Class控制组。例如下面:名称为“resource_pool_a”的组资源池关联到了“class_a”控制组。

    openGauss=# CREATE RESOURCE POOL resource_pool_a WITH (control_group='class_a');
    openGauss=# CREATE RESOURCE POOL resource_pool_b WITH (control_group='class_b');
    CREATE RESOURCE POOL
  3. 创建业务资源池关联到指定的Workload控制组。例如下面:名称为“resource_pool_a1”的业务资源池关联到了“workload_a1”控制组。

    openGauss=# CREATE RESOURCE POOL resource_pool_a1 WITH (control_group='class_a:workload_a1');
    openGauss=# CREATE RESOURCE POOL resource_pool_a2 WITH (control_group='class_a:workload_a2');
    openGauss=# CREATE RESOURCE POOL resource_pool_b1 WITH (control_group='class_b:workload_b1');
    openGauss=# CREATE RESOURCE POOL resource_pool_b2 WITH (control_group='class_b:workload_b2');
    CREATE RESOURCE POOL

    img 说明:

    • 如果在创建资源池的时候不指定所关联的控制组,则该资源池会被关联到默认控制组(DefaultClass控制组下的“Medium” Timeshare控制组)。

    • control_group取值区分大小写,指定时要使用单引号或双引号。

    • 若数据库用户指定Timeshare控制组代表的字符串,即“Rush”、“High”、“Medium”或“Low”其中一种,如control_group的字符串为“High”,代表资源池指定到DefaultClass控制组下的“High” Timeshare控制组。

    • control_group可以指定用户创建Workload控制组,即'class1:wd',也可以带有控制组的级别,例如:'class1:wd:2',这个级别范围一定要在1-10的范围内,但这个级别将不做任何区分作用。在旧版本中,允许创建同名Workload控制组,以级别进行区分。但新版本升级后,不允许创建同名控制组,用户如在旧版本中已创建同名Workload控制组,使用过程中其级别将不进行区分,由此可能造成的控制组不明确使用的问题,需要用户自行把旧的同名控制组删除以明确控制组使用。

235.3.2 管理资源池

修改资源池的属性。例如下面:修改资源池“resource_pool_a2”关联的控制组为“class_a:workload_a1”(假设class_a:workload_a1未被其他资源池关联)。

openGauss=# ALTER RESOURCE POOL resource_pool_a2 WITH (control_group="class_a:workload_a1");
ALTER RESOURCE POOL

235.3.3 删除资源池

删除资源池。例如下面删除资源池“resource_pool_a2”。

openGauss=# DROP RESOURCE POOL resource_pool_a2;
DROP RESOURCE POOL

img 说明:

  • 如果某个角色已关联到该资源池,无法删除。

  • 多租户场景下,如果删除组资源池,其业务资源池都将被删除。只有不关联用户时,资源池才能被删除。

235.4 查看资源池的信息

img 须知:

  • 不允许使用INSERT、UPDATE、DELETE、TRUNCATE操作资源负载管理的系统表pg_resource_pool。

  • 不允许修改资源池的memory_limit和cpu_affinity属性。

  • 查看当前集群中所有的资源池信息。

    openGauss=# SELECT * FROM PG_RESOURCE_POOL;
       respool_name   | mem_percent | cpu_affinity |    control_group    | active_statements | max_dop | memory_limit | parentid | io_limits | io_priority |  nodegroup   | is_foreign  | max_worker
    ------------------+-------------+--------------+---------------------+-------------------+---------+--------------+----------+-----------+--------------+--------------+------------
    default_pool     |         100 |           -1 | DefaultClass:Medium |                -1 |       1 | 8GB          |        0 |         0 | None        | InstallationGuide | f  |
    resource_pool_a  |          20 |           -1 | class_a             |                10 |       1 | 8GB          |        0 |         0 | None        | InstallationGuide | f  |
    resource_pool_b  |          20 |           -1 | class_b             |                10 |       1 | 8GB          |        0 |         0 | None        | InstallationGuide | f  |
    resource_pool_a1 |          20 |           -1 | class_a:workload_a1 |                10 |       1 | 8GB          |    16970 |         0 | None        | InstallationGuide | f  |
    resource_pool_a2 |          20 |           -1 | class_a:workload_a2 |                10 |       1 | 8GB          |    16970 |         0 | None        | InstallationGuide | f  |
    resource_pool_b1 |          20 |           -1 | class_b:workload_b1 |                10 |       1 | 8GB          |    16971 |         0 | None        | InstallationGuide | f  |
    resource_pool_b2 |          20 |           -1 | class_b:workload_b2 |                10 |       1 | 8GB          |    16971 |         0 | None        | InstallationGuide | f  |
    (7 rows)
  • 查看某个资源池关联的控制组信息,具体内容可以参考统计信息函数章节的gs_control_group_info(pool text)函数。

    如下命令中“resource_pool_a1”为资源池名称。

    openGauss=# SELECT * FROM gs_control_group_info('resource_pool_a1');
            name         |  class  |  workload   | type  | gid | shares | limits | rate | cpucores
    ---------------------+---------+-------------+-------+-----+--------+--------+------+----------
    class_a:workload_a1 | class_a | workload_a1 | DEFWD |  87 |     30 |      0 |    0 | 0-3
    (1 row)

    表 3 gs_control_group_info属性

    属性属性值说明
    nameclass_a:workload_a1class和workload名称
    classclass_aClass控制组名称
    workloadworkload_a1Workload控制组名称
    typeDEFWD控制组类型(Top、CLASS、BAKWD、DEFWD、TSWD)
    gid87控制组id
    shares30占父节点CPU资源的百分比
    limits0占父节点CPU核数的百分比
    rate0Timeshare中的分配比例
    cpucores0-3CPU核心数

原文链接:https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247490804&idx=1&sn=e46dca15b8777bca19205f958f8018da&chksm=c1420a3ef6358328270933fed6aab6b8b3a2dfde22c0438cccecd29350597de71d219736967c#rd

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论