【发布时间】:2016-05-25 09:17:51
【问题描述】:
假设我正在使用 Tornado 运行一个 Web 应用程序,并在 Nginx 后面作为 负载均衡器 运行它们。请告诉我某些方面的最佳做法。
1. 如果我在 AWS EC2 实例 中运行服务,那么我应该为给定运行多少个 NGINX 工作进程任何特定实例的 x 个 VCPU。假设我在具有 2 个 VCPU 的 EC2 实例上运行,那么我应该运行多少个工作进程?如果我知道它的一般规则会更好。另外,在什么情况下我应该增加工人数量而不是一般规则?
2. 现在,在我将 Nginx 设置为负载均衡器之后,它归结为我的 Tornado 应用程序。那么,给定 EC2 实例 中的 x 个 VCPU,我应该运行多少个 Tornado 实例?如文档中所述,每个处理器有 1 个实例 很好,但这是 最佳条件吗? 如果是,那么在什么情况下,我应该寻找增加每个处理器的实例数?如果不是,最好的规则是什么?
注意:我通过 Supervisord 作为我的流程管理程序运行实例。
3. 现在,如果我的应用程序对 MySQL 数据库和 MongooseIM 服务器进行大量 async 调用,都在同一台主机上运行,那么每个处理器的 Tornado 实例数是否应该更改?如果是,那么规则是什么?如果不是,那么最佳做法是什么?
【问题讨论】:
标签: nginx amazon-ec2 tornado supervisord