AWS/ECS CPUUtilization 平均值与最大值

AWS/ECS CPUUtilization average vs maximum

阅读 AWS 文档后,我仍然不清楚 cloudwatch 指标统计的平均值和最大值,特别是 ECS CPUUtilization。

我有一个 AWS ECS 集群 fargate 设置,这是一项至少有 2 个健康任务的服务。我已使用 AWS/ECS CPUUtilization 启用自动缩放 ClusterName 我和 ServiceName。 Cloudwatch 警报触发器配置为在 3 个数据点的平均 cpu 利用率在一分钟内超过 75% 时触发。

我还有一个健康检查设置,频率为 30 秒,超时为 5 分钟,

我 运行 一个性能脚本来测试自动缩放行为,但我注意到该服务被标记为不健康并且创建了新任务。当我检查 cpu 利用率指标时,对于平均统计数据,它显示大约 44% 的利用率,但对于最大统计数据,它显示超过百分之一百,附上屏幕截图。

平均

最大

那么这里的平均值和最大值是多少,这是否意味着平均值是我的两个实例的平均 cpu 利用率?最大值显示我的实例之一的 cpu 利用率超过 100?

此处的平均值和最大值测量 1 分钟内的平均 CPU 使用量和 1 分钟内的最大 CPU 使用量。

在配置自动缩放规则方面,您想使用平均指标。

最大指标通常是随机的短突发尖峰,可能由垃圾收集等原因引起。

然而,平均指标是 p50 CPU 使用率,因此一半时间 CPU 使用率高于此,一半低于此。 (是的,从技术上讲,这是中位数,但就目前而言,它并不重要)。

当您的 CPU 达到 75-85% 时,您很可能希望使用平均指标进行扩展(请记住,您需要给新任务预热时间)。

自动缩放用例通常可以忽略最大指标。