tot*_*ooo 6 amazon-web-services amazon-redshift
我经常看到我们 Redshift 集群的领导节点在 100% CPU 时达到峰值。我已经确定了一个可能的原因:许多并发查询,以及许多领导者要计算的执行计划。这个假设似乎很有可能,因为我们收到最多查询的时间似乎与我们看到的 100% 领先者相同。
为了解决这个问题,我们想知道:是否还有其他可能导致领导者 CPU 高的主要原因?
(我精确的情况是只有领导节点处于高 CPU 并且工作人员看起来很好)
Redshift 领导节点的大小和计算类别与计算节点相同。通常,这意味着领导者对其所扮演的角色进行了过度配置,但由于如果事情变慢,它的角色将非常重要且具有影响力,因此过度配置是件好事。领导者需要编译和优化查询并执行查询中的最终步骤(例如最终排序)。它与会话客户端通信并处理它们的所有请求。如果领导者过载,所有这些活动都会减慢,从而产生严重的性能问题。如果您的领导者 CPU 经常达到 100%,以至于您注意到了,这并不是一件好事。我敢打赌,当这种情况发生时,它看起来会很迟缓。
我见过“领导者滥用”的方式有很多种,当用户之间复制不良模式时,这通常会成为一个问题。排名不分先后:
虽然上述问题本身都不是问题,但当这些问题被过度使用、以非预期的方式使用或同时出现时,领导者就会开始受到影响。它还取决于您打算对集群做什么 - 如果它支持 BI 工具,那么您可能会有很多游标,但领导者上的这种负载是集群意图的一部分。当集群的目的是为每个人提供一切服务时,经常会出现问题。
如果您的 Redshift 工作负载是领导者函数,并且您正在有效地使用领导者节点(没有大文字,使用 COPY 和 UNLOAD 等),那么高领导者工作负载就是您想要的。您将充分利用关键资源。然而,大多数使用 Redshift 对大数据执行分析,这是计算节点的功能。领导者负担过重可能会严重影响这一使命,需要加以解决。
领导者可能会感到压力的另一种方式是当集群配置有许多较小的节点类型而不是较少的较大节点时。由于领导者与计算节点的大小相同,因此许多较小的节点意味着您有一个小的领导者来完成工作。有一些事情需要考虑,但在投资调整大小之前,我会确保您没有不必要的领导节点压力。
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |