本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实施工作负载管理
您可以使用工作负载管理 (WLM) 定义多个查询队列并在运行时将查询路由到适当的队列。
在一些情况下,您可能有多个会话或用户同时运行查询。在这些情况下,某些查询可能会长时间占用集群资源,从而影响其他查询的性能。例如,假设一组用户时不时提交复杂、耗时的查询(从多个大型表中选择和排序行)。另一组用户经常提交短查询(仅从一个或两个表中选择少量行,运行时长只有数秒)。这种情况下,短时查询可能不得不在队列中等待耗时查询完成。WLM 帮助应对这种情况。
您可以配置 Amazon Redshift WLM 以通过自动 WLM 或手动 WLM 运行。
-
自动 WLM
为了最大限度地提高系统吞吐量和高效地使用资源,您可以启用 Amazon Redshift 来管理如何划分资源以使用自动 WLM 运行并行查询。自动 WLM 管理运行查询所需的资源。Amazon Redshift 确定有多少个查询并发运行以及向每个分派的查询分配多少内存。您可以使用 Amazon Redshift 控制台,依次选择 Switch WLM mode (切换 WLM 模式) 和 Auto WLM (自动 WLM).,从而启用自动 WLM。使用此选项,最多八个队列用于管理查询,并且 Memory (内存) 和 Concurrency on main (主集群上的并发) 字段均设置为 Auto (自动). 您可以指定优先级来反映映射到每个队列的工作负载或用户的业务优先级。默认的查询优先级设置为 Normal (正常). 有关如何更改队列中查询的优先级的信息,请参阅查询优先级. 有关更多信息,请参阅实施自动 WLM.
在运行时,您可以根据用户组或查询组将查询路由到这些队列。您还可以配置查询监控规则 (QMR) 来限制长时间运行的查询。
使用并发扩展和自动 WLM,您可以支持几乎无限的并发用户和并发查询,同时提供始终如一的快速查询性能。有关更多信息,请参阅使用并发扩展.
注意 我们建议您创建参数组并选择自动 WLM 来管理查询资源。有关如何从手动 WLM 迁移到自动 WLM 的详细信息,请参阅 从手动 WLM 迁移到自动 WLM.
-
手动 WLM
此外,您可以通过修改 WLM 配置,为耗时查询和短时查询分别创建队列,来管理系统性能和用户体验。在运行时,您可以根据用户组或查询组将查询路由到这些队列。使用 Amazon Redshift 控制台切换到 Manual WLM (手动 WLM). 即可启用此手动配置。通过此选项,您可以指定用于管理查询的队列以及 Memory (内存) 和 Concurrency on main (主集群上的并发) 字段值。使用手动配置,您可以配置多达八个查询队列,并设置可在每个队列中同时运行的查询数。您可以设置规则以根据运行查询的用户或指定的标签将查询路由到特定的队列。您还可以配置分配到每个队列的内存量,使大型查询在内存更多的队列中运行。您还可以配置查询监控规则 (QMR) 来限制长时间运行的查询。有关更多信息,请参阅实施手动 WLM.
注意 我们建议您为手动 WLM 查询队列配置不超过 15 个查询槽。有关更多信息,请参阅并发级别.
主题