ITPub博客

首页 > 数据库 > > 负载管理(队列控制)-静态负载管理

负载管理(队列控制)-静态负载管理

作者:GaussDB_数据库 时间:2020-01-14 15:52:53 0 删除 编辑

背景信息

通过设置参数进行的并发管理称为静态负载管理。

前提条件

已熟悉ALTER RESOURCE POOL语法的使用。

动态负载功能已关闭,即enable_dynamic_workload的取值设置为off。

操作步骤

  1. 使用gsql连接数据库。
  2. 通过修改资源池“resource_pool_a1”的MEM_PERCENT参数的取值调整资源池的并发量。
    ALTER RESOURCE POOL resource_pool_a1 WITH (MEM_PERCENT=20);
    ALTER RESOURCE POOL
    • 多租户场景下:由运行作业的内存估值和MEM_PERCENT的取值决定。
    • 非多租户场景下:
      • 当MEM_PERCENT参数数值为0时,ACTIVE_STATEMENTS为x(1~INT_MAX),该资源池上的作业并发数不大于x。
      • 当MEM_PERCENT为正值时,由运行作业的内存估值和MEM_PERCENT的取值决定。

    资源池使用并发点数的计数方式来计算可执行的并发数量,并发点数计算公式为

    作业使用点数:active_points = (query_mem/respool_mem) * active_statements * 100

    资源池总点数:total_points = active_statements * 100

    单位点数: 100

     说明:
    • ACTIVE_STATEMENTS取值范围为 -1 ~ INT_MAX, 默认值为10,建议使用该默认值。当设置为0或者-1时,并发不受限制。
    • query_mem为优化器估算的作业内存大小,即PG_SESSION_WLMSTAT视图中的statement_mem;作业无估算内存数值时,不进行并发控制。
    • respool_mem为资源池的实际内存。
    • 当资源池总点数耗尽后,会触发排队操作,队列满足先进先出。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3124074/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19267