如何为系统选择最佳的 EC2 实例

use*_*508 5 amazon-ec2 amazon-web-services

我在 AWS-EC2 中以 t3a.medium 实例类型托管了一个电子商务网站。现在流量正在增加,CPU 使用率非常高,站点一次又一次地停止工作。查看 htop,mysql 正在使用最大 CPU。

在当前实例中,vcpu 只有 2,所以我想更改实例类型。但问题是我怎么知道哪个最适合我的系统?

MLu*_*MLu 28

  1. 向上、向下或横向更改实例类型很容易。不要试图猜测哪一种最适合您——而是测试一下。如果您现在有t3a.medium ,请尝试升级到t3a.large。或者到m5.large - 如果您最大化 t3a.large 并且不断耗尽 CPU 积分,它可能会更便宜(检查实例详细信息中的监控选项卡)。

    如果您的应用程序需要大量内存,请查看r5。* 实例,如果它是 cpu-heavy 看c5。* 实例。对于某些工作负载,它们往往比一般用途便宜。

  2. 最佳实践是将您的数据库与您的应用程序/网络前端分离,不要将它们托管在同一实例上。将数据库移至 AWS RDS 服务 - 它将为您管理,包括备份、升级、故障转移等。

  3. 一旦您的应用程序与数据库分离,请查看 Auto-Scaling - 而不是随着流量的增长升级到越来越大的实例,您可以通过添加越来越多的较小实例来水平扩展,所有实例都配置相同。这允许您在安静时间(晚上、周末)使用更少的实例运行,并在繁忙时间添加更多相同的实例。这样你的每小时账单就会随着交通负荷而波动。

最重要的是,没有“最佳 EC2 实例” ——这完全取决于您的实际使用情况。

好消息是 AWS 没有长期承诺,只需进行测试并根据需要改进架构。

希望有帮助:)