限制决策支持查询的优先级

可以通过调整 PDQPRIORITY 环境变量、MAX_PDQPRIORITY 配置参数和其他配置参数的值来限制决策支持 (DSS) 查询耗用的并行处理资源。

单个应用程序的 PDQ 优先级的缺省值为 0,这意味着没有使用 PDQ 处理。除非以下操作之一覆盖了该值,数据库服务器将使用该值:

PDQPRIORITY 环境变量和 MAX_PDQPRIORITY 配置参数共同控制要为并行处理分配的资源量。正确设置这些参数对 PDQ 的有效操作非常关键。

MAX_PDQPRIORITY 配置参数使您能够对 DSS 查询耗用的并行处理资源进行限制。这样,PDQPRIORITY 环境变量将设置一个合理的建议的优先级值,并且 MAX_PDQPRIORITY 将对应用程序可要求的资源进行限制。

MAX_PDQPRIORITY 配置参数指定查询可获取的最大百分比的请求资源。例如,如果 PDQPRIORITY80 且 MAX_PDQPRIORITY 为 50,那么每个活动查询将接收到相当于 DS_TOTAL_MEMORY 的 40% 的内存量,并四舍五入为最接近的份额。在此示例中,MAX_PDQPRIORITY 有效地将并发决策支持查询的数量限制为两个。后续的查询必须等到前面的查询完成之后,才能获得它们运行所需的资源。

如果 PDQPRIORITY 环境变量设置了 PDQ 优先级的值,那么应用程序或用户可以使用 SET PDQPRIORITY 语句的 DEFAULT 标记来使用该值。DEFAULT 是 PDQ 优先级的 -1 值的等值符号。

您可以使用 onmode 命令行实用程序来临时更改以下配置参数的值:

只要数据库服务器仍处于启动并运行状态,这些更改就保持有效。数据库服务器启动时,它将使用 ONCONFIG 文件中列出的值。

有关前面所述的参数的更多信息,请参阅配置对内存利用率的影响。有关 onmode 的更多信息,请参阅《GBase 8s 管理员参考》。

如果必须定期更改决策支持参数的值(例如,为了处理报告每天晚上将 MAX_PDQPRIORITY 设置为 100),那么您可以使用调度好的操作系统作业来设置这些值。有关创建调度作业的信息,请参阅操作系统手册。

要获取数据库服务器的最佳性能,请为 PDQPRIORITY 环境变量和 MAX_PDQPRIORITY 参数选择值、观察产生的行为,然后调整这些参数的值。不存在用于为这些环境变量和参数选择值的明确规则。以下几节讨论了用于为特定需求设置 PDQPRIORITY 和 MAX_PDQPRIORITY 的策略。