分享

OushuDB 管理指南之资源管理(下)

 北漂二号 2021-12-16

设置查询最大和最小并发度

通常,一个查询的并行度会影响一个查询的性能以及系统的吞吐量。资源管理器分配给一个查询的virtual segment个数决定了一个查询的并行度。 一般情况下,用户不需要人为干预资源管理器对virtaul segment个数的分配,OushuDB资源管理器会很好的管理查询的并行度。但有些时候,用户可能想要控制一个查询的并发度,OushuDB提供了多个 可供用户调控的手段。

  • 通过hawq_rm_nvseg_perquery_limit:这个是资源管理器针对一个查询可以分配的最大virtual segment数。默认值为512。用户可以调整这个值来放松或者加紧对并行度的限制。

  • NVSEG_UPPER_LIMIT/NVSEG_LOWER_LIMIT:这两个值可以在创建资源队列时指定。决定了一个资源队列中的查询使用的最小和最大virtual segment个数。如果不指定这两个值,这两个参数默认处于不生效状态。

  • NVSEG_UPPER_LIMIT_PERSEG/NVSEG_LOWER_LIMIT_PERSEG:这两个值可以在创建资源队列时指定。决定了一个资源队列中的查询在每个节点上使用的最小和最大virtual segment个数。如果不指定这两个值,这两个参数默认处于不生效状态。 如果节点数为10,NVSEG_UPPER_LIMIT_PERSEG为2,则该资源队列的查询最大可以使用10 * 2 = 20个virtual segment。下面的语句可以对该值进行设置:

CREATE RESOURCE QUEUE adhoc2 WITH (PARENT='department3', ACTIVE_STATEMENTS=3,

MEMORY_LIMIT_CLUSTER=50%, CORE_LIMIT_CLUSTER=50%, NVSEG_UPPER_LIMIT_PERSEG=2);

hawq_rm_nvseg_perquery_limit是一个硬性限制,NVSEG_UPPER_LIMIT/NVSEG_LOWER_LIMIT和NVSEG_UPPER_LIMIT_PERSEG/NVSEG_LOWER_LIMIT_PERSEG的设置也不能突破hawq_rm_nvseg_perquery_limit的限制。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多