Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

WLM 动态内存分配

在每个队列中,WLM 创建与队列的并发级别相等的查询槽数目。分配到查询槽的内存量等于分配到队列的内存百分比除以槽数。如果更改内存分配或并发,则 Amazon Redshift 动态管理到新 WLM 配置的过渡,因此,活动查询可使用当前分配的内存量运行直到完成,同时确保总内存使用量不超出 100% 的可用内存。

工作负载管理器使用下面的流程管理过渡。

  1. WLM 重新计算针对每个新查询槽的内存分配。

  2. 如果正在运行的查询未主动使用某个查询槽,则 WLM 删除该槽,使这些内存可供新的槽使用。

  3. 如果主动使用某个查询槽,则 WLM 等待查询完成。

  4. 活动查询完成后,会删除空槽,释放关联的内存。

  5. 因为有充足的内存可供添加一个或多个槽,所以会添加新的槽。

  6. 发生更改时正在运行的所有查询完成之后,槽数等于新的并发级别,完成到新的 WLM 配置的过渡。

实际上,发生更改时正在运行的查询会继续使用原来的内存分配,发生更改时正在排队的查询会在新槽可用时路由到新的槽。

如果 WLM 动态属性在过渡期间发生更改,则 WLM 立即开始过渡到新的配置(从当前状态开始)。要查看过渡的状态,请查询 STV_WLM_SERVICE_CLASS_CONFIG 系统表。