Amazon Redshift性能优化:WLM、参数组与自动化功能解析
1. WLM模式介绍
WLM(Workload Manager)的目标是管理数据仓库中查询执行的资源。在使用自动WLM时,强烈建议设置QMR(Query Monitoring Rules),以防止异常查询占用所有资源。WLM有自动和手动两种模式,下面为您详细介绍手动WLM模式。
手动WLM模式下,用户对每个查询的并发和内存分配有更多控制权。若工作负载需要全天候专用资源,可使用手动WLM。例如,有一个持续的数据ETL摄入管道,可设置一个队列并分配一定比例的内存。手动WLM最多可创建8个队列,服务类标识符为6到13,建议所有手动WLM队列的总槽位数为15。
手动WLM仅适用于预配置的数据仓库,无服务器数据仓库使用自动WLM。若数据仓库有300 GiB内存,为ETL队列分配40%内存并设置3个槽位,则每个查询将分配到 300 x 0.40 / 3 = 40 GiB的内存。若查询需要的内存超过40 GiB,查询将溢出到磁盘,执行时间会变长。在手动WLM模式下,内存为每个队列槽位预留,若进来的查询数量超过定义的槽位数,这些查询将排队等待执行。为了扩展每个队列的分配内存,可以启用并发扩展。并发扩展针对每个队列启用,只有当特定队列已满时,查询才会路由到扩展集群。
手动WLM的特点是,一旦一个队列的所有槽位被占用,后续查询必须等待,即使其他队列有空闲槽位。当用户非常熟悉工作负载并希望对集群资源有最大控制权时,建议使用手动WLM,但它可能导致资源未充分利用。对于非常一致且可重复的工作负载实例,适合使用手动WLM,但每次引入新工作负载时,如果该工作负载有定义的SLA,应重新评估手动槽位和内存分配。如果新工作负
超级会员免费看
订阅专栏 解锁全文
1276

被折叠的 条评论
为什么被折叠?



