我很快将推出一款 Web 应用程序,目的是通过会员销售获利。该应用程序使用 Flask(我已经测试过使用 Elastic Beanstalk 进行部署)。我还使用 RDS,因为我使用 MySQL 数据库。
我正在尝试弄清楚我的服务器需求。该应用程序主要只是重定向到不同的页面,偶尔会评估 Keras 机器学习模型。由于我才刚刚开始,因此最初将有 0 个用户。
您认为哪个 EC2 实例适合执行此任务?我目前正在使用免费套餐 t2.micro 进行测试,但正在尝试规划未来。我想确保它可以同时处理 20-100 个用户。我最好继续使用免费套餐吗?
如果需要,我会提供更多信息。我是所有 AWS 相关概念的初学者,因此在查看在线教程后,我仍然不确定应该做什么。我认为 T2 最有意义,因为它便宜且通用。但我不确定我需要什么尺寸。
答案1
我建议您使用 t2.micro,直到它容量耗尽或无法满足您的需求。如果您只是需要更多 CPU,您可以启用 t2 unlimited,这实际上可以让您支付更多 CPU 积分。
在某些时候,t2.micro 无法跟上。您会知道这一点,因为性能会下降,您没有足够的 CPU,或者您没有足够的 RAM,其中大部分问题都可以通过 CloudWatch 解决。发生这种情况时,您的主要选择是:
获取单个更大的实例
水平扩展。添加负载均衡器,拥有多个实例。如果您的应用程序可以支持水平扩展,这将为您提供容错能力。您通常最好使用 M(通用)实例而不是负载均衡器后面的 T 系列,因为当 T 系列用完 CPU 积分时,性能会下降 - 除非您启用了 t2 / t3 unlimited。
升级时,我会选择 t3 系列而不是 t2,因为性能更好,价格也比 t2 低。你也可以选择 t3a (AMD),它便宜 10%,但可能有点慢一点对于某些工作负载。