fy
发布于

资源队列基本使用

查看资源队列

select * from pg_resqueue;

查看资源队列与用户绑定关系

select split_part(rsqname,'.',1) vc ,split_part(rsqname,'.',2) res_name,array_agg(rolname) as roles
    from pg_authid a full join pg_resqueue b
    on a.rolresqueue=b.oid group by 1,2 order by 3,2,1;

查看资源队列实时运行状态

select * from pg_resqueue_status;

如何新增资源队列

create resource queue 资源队列名称 with(PARENT='vc_default.pg_root',
                                     vseg_resource_quota='mem:2048mb',
                                     memory_limit_cluster=50%,
                                     core_limit_cluster=50%);

修改资源队列的 SQL 个数

alter resource queue vc_default.pg_default with(active_statements=SQL个数)

修改资源队列的节点并发度

alter resource queue vc_default.pg_default with(max_nvseg_perquery_perseg=节点并发度)

修改资源队列的 MEM_LIMIT

alter resource queue vc_default.pg_default with(memory_limit_cluster=50%)

修改资源队列的 CORE_LIMIT

alter resource queue vc_default.pg_default with(core_limit_cluster=50%)

资源队列与用户如何绑定与解绑

# 绑定
alter role DB用户 resource queue 资源队列;

# 解绑
alter role DB用户 resource queue none;
评论(7)
  • zdsg
    zdsg 回复
    fy fy 2022-05-13 11:35:59

    alter role DB 用户 1 resource queue RSQ; -- 成功
    alter role DB 用户 1,DB 用户 2,DB 用户 3 resource queue RSQ; -- 失败

    好的 明白了,其实只要分开一个一个绑定就可以了 对吧

  • fy
    fy 回复
    zdsg zdsg 2022-05-09 20:08:38

    第二点,一个资源队列被多个用户绑定,我试验了,也成功了,您指的同时绑定没成功指的是什么?

    alter role DB 用户 1 resource queue RSQ; -- 成功
    alter role DB 用户 1,DB 用户 2,DB 用户 3 resource queue RSQ; -- 失败

  • zdsg
    zdsg 回复
    fy fy 2022-05-06 14:36:23

    【一个用户可以绑定多个资源队列吗?】 : 目前实战中没成功过
    【一个资源队列可以同时被多个用户绑定吗?】 : 资源队列可以被多个用户绑定;但是同时绑定没成功过

    第二点,一个资源队列被多个用户绑定,我试验了,也成功了,您指的同时绑定没成功指的是什么?

  • fy
    fy 回复
    亚平宁的眼泪 亚平宁的眼泪 2022-04-08 11:22:05

    active_statements 这个参数的参考值是什么 一般建议如何设定 有什么计算方式吗?

    没啥参考值
    我一般通过下面来调试,当 DB 跑起来,通过 nmon 监控 QE,看系统的瓶颈在哪里
    ACTIVE_STATEMENTS X vsegs X vseg_resource_quota <= hawq_rm_memory_limit_perseg

    当然这个公式的话,还是以研发给出的为主

  • fy
    fy 回复
    zdsg zdsg 2022-04-08 16:59:33

    一个用户可以绑定多个资源队列吗?
    一个资源队列可以同时被多个用户绑定吗?

    【一个用户可以绑定多个资源队列吗?】 : 目前实战中没成功过
    【一个资源队列可以同时被多个用户绑定吗?】 : 资源队列可以被多个用户绑定;但是同时绑定没成功过

  • zdsg
    zdsg 回复

    一个用户可以绑定多个资源队列吗?
    一个资源队列可以同时被多个用户绑定吗?

  • 亚平宁的眼泪
    亚平宁的眼泪 回复

    active_statements 这个参数的参考值是什么 一般建议如何设定 有什么计算方式吗?

test