最佳实践:单个 Amazon EC2 实例上的多个 django 应用程序
Posted
技术标签:
【中文标题】最佳实践:单个 Amazon EC2 实例上的多个 django 应用程序【英文标题】:Best practice: Multiple django applications on a single Amazon EC2 instance 【发布时间】:2012-11-10 22:58:17 【问题描述】:我一直在 Amazon EC2 上运行单个 django 应用程序,使用 gunicorn 为 django 部分提供服务,并为静态文件提供 nginx。
我即将开始新项目,想知道以下哪个选项更好:
-
运行多个 django 应用程序的大型亚马逊 EC2 实例(中)
多个较小的 EC2 实例(小型/微型)都运行自己的 django 应用程序?
有人有这方面的经验吗?我可以测量哪些相关性能指标来获得良好的成本性能比?
【问题讨论】:
【参考方案1】:恐怕这个问题的答案真的取决于你的应用程序。您需要进行基准测试以确保您在正确的实例类型上运行。需要注意的一些关键指标是:
CPU 内存使用情况 每秒请求数,每个实例大小 应用启动时间您还需要调整 nginx/gunicorn 设置,以确保您运行的配置针对您的实例大小进行了优化。
如果成本是您考虑的一个因素,一个有趣的指标是“每万个请求的成本”,即您为每种实例类型的每 10000 个请求支付多少费用?
【讨论】:
【参考方案2】:我同意 Mike Ryan 的回答。我要补充一点,您还必须评估您的应用程序是否需要单独的数据库。有时将大型/复杂的应用程序与它们自己的数据库隔离是有意义的,这使得更改和维护更容易。 (如果出现问题,也可以降低您的风险)。在中断的情况下,并非所有用户群都会受到影响。您可能希望为这些应用程序创建一个单独的实例。注意:Django 在一个项目中支持多个数据库,但这又增加了更改和维护的复杂性。
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker.以上是关于最佳实践:单个 Amazon EC2 实例上的多个 django 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Amazon RDS Aurora 与 RDS MySQL 与 EC2 上的 MySQL?
跨 TCP 443 连接的 Amazon ELB 会话粘性?
使用 MySQL Workbench 通过 EC2 实例连接到 Amazon RDS 实例