如何在 AWS 上获得一致的 CPU 利用率

How to get consistent CPU utilization on AWS

我现在了解到,当我启动一个新的 EC2 实例时,它有一定数量的 CPU 积分,因此它在开始处理时性能很高,但随着时间的推移逐渐降低,因为积分 运行出来。过了那个点,实例 运行s 似乎是基线 CPU 利用率。计算一下,当我启动 EC2 实例 (t2.nano) 时,Cloudwatch 报告了大约 80% CPU 的利用率逐渐下降到 5%。

现在我很乐意使用一种更好的实例类型来等待实例限制请求。但是,虽然正在进行中,但我想知道随着时间的推移性能降低的问题是否仍然存在,即使使用更好的实例类型?

如果我希望确保获得一致的 CPU 使用率,是否需要专门的主机设置?我在这里看到的唯一问题是我正在 运行 设置一个 SQS 工作队列,而 Elastic Beanstalk 允许我们轻松设置一个从队列中读取消息的工作环境。根据我所阅读的内容以及查看 Elastic Beanstalk 中可用的配置选项,我认为我无法直接将实例启动到专用主机中。我的大部分阅读让我相信我必须学习如何使用 VPC。这样对吗?

所以我想我的问题是 - 只需将实例类型增加到更强大的实例就能保证一致的 CPU 利用率性能,或者是否需要专用主机,如果是这样,是否可以设置一个Elastic Beanstalk 还是必须手动设置?如果手动设置,是否可以将其配置为自动使用 SQS 队列?

如果您想要一致的 CPU 性能,您应该避免突发性能实例(T2 系列)。随着时间的推移,所有其他实例系列(M5、C5 等)都将具有一致的 CPU 性能。您可以将任何实例系列与 Elastic Beanstalk 结合使用。无需专用主机。