1

我一直在 Amazon EC2 上运行单个 django 应用程序,使用 gunicorn 为 django 部分和静态文件提供 nginx。

我将很快开始新项目,并想知道以下哪个选项会更好:

  1. 运行多个 django 应用程序的大型亚马逊 EC2 实例(中)
  2. 多个较小的 EC2 实例(小型/微型)都运行自己的 django 应用程序?

有人有这方面的经验吗?我可以测量哪些相关性能指标来获得良好的成本性能比?

4

2 回答 2

1

恐怕这个问题的答案真的取决于你的应用程序。您需要进行基准测试以确保您在正确的实例类型上运行。需要注意的一些关键指标是:

  • 中央处理器
  • 内存使用情况
  • 每秒请求数,每个实例大小
  • 应用启动时间

您还需要调整 nginx/gunicorn 设置,以确保您运行的配置针对您的实例大小进行了优化。

如果成本是您考虑的一个因素,那么一个有趣的指标是“每万个请求的成本”,即您为每种实例类型的每 10000 个请求支付多少费用?

于 2012-12-06T13:55:26.393 回答
0

我同意迈克瑞恩的回答。我要补充一点,您还必须评估您的应用程序是否需要单独的数据库。有时将大型/复杂的应用程序与它们自己的数据库隔离是有意义的,这使得更改和维护更容易。(如果出现问题,也可以降低您的风险)。在中断的情况下,并非所有用户群都会受到影响。您可能希望为这些应用程序创建一个单独的实例。注意:Django 在一个项目中支持多个数据库,但这又增加了更改和维护的复杂性。

于 2021-09-08T13:33:19.830 回答