实施工作负载管理
您可以配置 Amazon Redshift WLM 以通过自动 WLM 或手动 WLM 运行。
自动 WLM
为了最大限度地提高系统吞吐量和高效地使用资源,您可以启用 Amazon Redshift 来管理如何划分资源以使用自动 WLM 运行并行查询。自动 WLM 管理运行查询所需的资源。Amazon Redshift 确定有多少个查询并发运行以及向每个分派的查询分配多少内存。当您希望 Amazon Redshift 管理如何划分资源以运行并发查询时,请使用自动 WLM。有关更多信息,请参阅 实施自动 WLM。
使用并发扩展和自动 WLM,您可以支持几乎无限的并发用户和并发查询,同时提供始终如一的快速查询性能。有关更多信息,请参阅 使用并发扩展。
注意
在大多数情况下,我们建议您使用自动 WLM。如果您使用手动 WLM,并且希望迁移到自动 WLM,请参阅从手动 WLM 迁移到自动 WLM。
使用自动 WLM 可以为队列中的工作负载定义查询优先级。有关查询优先级的更多信息,请参阅查询优先级。
手动 WLM
您可能有多个会话或用户同时运行查询。一些查询可能会长时间占用集群资源,从而影响其他查询的性能。手动 WLM 有助于针对特殊应用场景管理这种情况。如果您想对并发性进行更多控制,请使用手动 WLM。
您可以修改 WLM 配置,为耗时查询和短时查询分别创建队列,来管理系统性能。在运行时,您可以根据用户组或查询组将查询路由到这些队列。
您可以设置规则以根据运行查询的用户或指定的标签将查询路由到特定的队列。您还可以配置分配到每个队列的内存量,使大型查询在内存更多的队列中运行。您还可以配置查询监控规则 (QMR) 来限制长时间运行的查询。有关更多信息,请参阅 实施手动 WLM。
注意
我们建议您为手动 WLM 查询队列配置不超过 15 个查询槽。有关更多信息,请参阅 并发级别。
请注意,对于手动 WLM 配置,您可以分配给队列的最大插槽数为 50。但是,这并不意味着在自动 WLM 配置中,Amazon Redshift 集群总是会同时运行 50 个查询。根据集群上的内存需求或其他类型的资源分配,这一数字会发生改变。