选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

动态 WLM 示例 - Amazon Redshift

动态 WLM 示例

借助 Amazon Redshift,您可以使用动态 WLM(工作负载管理)自动管理 Amazon Redshift 集群的工作负载分配和资源分配。动态 WLM 是工作负载管理(WLM)配置的一个示例,可根据工作负载需求动态调整内存分配,从而实现最佳并发性和性能。下一节将详细介绍如何为 Amazon Redshift 集群实施和配置动态 WLM。

假定您的集群 WLM 使用了以下动态属性配置了两个队列。

Queue 并发 使用的内存百分比

1

4

50%

2

4

50%

现在,假定集群有 200 GB 内存可用于查询处理。(此数字是随机的,只是为了演示目的。) 如下面的等式所示,每个槽分配 25 GB 内存。

(200 GB * 50% ) / 4 slots = 25 GB

接下来,将 WLM 更改为使用以下动态属性。

Queue 并发 使用的内存百分比

1

3

75%

2

4

25%

如下面的等式所示,队列 1 中每个槽的新内存分配为 50 GB。

(200 GB * 75% ) / 3 slots = 50 GB

假定在应用新配置时,查询 A1、A2、A3、A4 正在运行,查询 B1、B2、B3、B4 正在排队。WLM 动态重新配置查询槽,如下所示。

步骤 正在运行的查询 当前槽数 目标槽数 分配的内存 可用内存
1 A1、A2、A3、A4 4 0 100 GB 50 GB
2 A2、A3、A4 3 0 75 GB 75 GB
3 A3、A4 2 0 50 GB 100 GB
4 A3、A4、B1 2 1 100 GB 50 GB
5 A4、B1 1 1 75 GB 75 GB
6 A4、B1、B2 1 2 125 GB 25 GB
7 B1、B2 0 2 100 GB 50 GB
8 B1、B2、B3 0 3 150 GB 0 GB
  1. WLM 重新计算每个查询槽的内存分配。最初,队列 1 分配 100 GB 内存。新的队列总共分配 150 GB 内存,因此,新队列立即有 50 GB 内存可用。队列 1 现在使用四个槽,新的并发级别为三个槽,因此,不添加任何新槽。

  2. 当某个查询完成时,该槽被删除并释放 25 GB 内存。队列 1 现有三个槽和 75 GB 可用内存。新配置需要为每个槽分配 50 GB 内存,但新的并发级别为三个槽,因此不添加任何新的槽。

  3. 当第二个查询完成时,其槽被删除并释放 25 GB 内存。队列 1 现有两个槽和 100 GB 可用内存。

  4. 使用 50 GB 可用内存添加新槽。队列 1 现有三个槽和 50 GB 可用内存。排队的查询现在可路由到新的槽。

  5. 在第三个查询完成时,其槽被删除并释放 25 GB 内存。队列 1 现有两个槽和 75 GB 可用内存。

  6. 使用 50 GB 可用内存添加新槽。队列 1 现有三个槽和 25 GB 内存。排队的查询现在可路由到新的槽。

  7. 当第四个查询完成时,其槽被删除并释放 25 GB 内存。队列 1 现有两个槽和 50 GB 可用内存。

  8. 使用 50 GB 可用内存添加新槽。队列 1 现有三个槽,每个槽有 50 GB 内存,所有可用内存均已分配。

过渡完成,所有查询槽都可用于排队的查询。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。