【问题标题】:Best practice: Multiple django applications on a single Amazon EC2 instance最佳实践:单个 Amazon EC2 实例上的多个 django 应用程序
【发布时间】:2012-11-10 22:58:17
【问题描述】:

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

我即将开始新项目,想知道以下哪个选项更好:

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

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

【问题讨论】:

    标签: django nginx amazon-ec2 amazon-web-services gunicorn


    【解决方案1】:

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

    • CPU
    • 内存使用情况
    • 每秒请求数,每个实例大小
    • 应用启动时间

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2014-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多