Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有多少Tornado实例和多少Nginx工作进程_Nginx_Amazon Ec2_Tornado_Supervisord - Fatal编程技术网

有多少Tornado实例和多少Nginx工作进程

有多少Tornado实例和多少Nginx工作进程,nginx,amazon-ec2,tornado,supervisord,Nginx,Amazon Ec2,Tornado,Supervisord,假设我使用Tornado运行一个web应用程序,并在Nginx后面作为负载平衡器运行它们。请告诉我某些事情的最佳实践 1.如果我在AWS EC2实例中运行服务,那么对于任何特定实例,对于给定的x个vCPU,我应该运行多少个NGINX工作进程。假设我在一个带有2个vCPU的EC2实例上运行,那么我应该运行多少个工作进程?如果我知道它的一般规则就更好了。此外,在什么情况下,我应该增加工人数量,而不是违反一般规则 2。现在,在我将Nginx设置为负载平衡器之后,它可以归结为我的龙卷风应用程序。那么,给

假设我使用Tornado运行一个web应用程序,并在Nginx后面作为负载平衡器运行它们。请告诉我某些事情的最佳实践

1.如果我在AWS EC2实例中运行服务,那么对于任何特定实例,对于给定的xvCPU,我应该运行多少个NGINX工作进程。假设我在一个带有2个vCPU的EC2实例上运行,那么我应该运行多少个工作进程?如果我知道它的一般规则就更好了。此外,在什么情况下,我应该增加工人数量,而不是违反一般规则

2。现在,在我将Nginx设置为负载平衡器之后,它可以归结为我的龙卷风应用程序。那么,给定EC2实例中x个数vCPU,我应该运行多少个Tornado实例?正如文档中提到的,每个处理器有1个实例是很好的,但这是最佳条件吗?如果是,那么在什么情况下,我应该增加每个处理器的实例数?如果不是,那么最好的规则是什么

注意:我正在通过Supervisord作为流程管理程序运行实例

3.现在,如果我的应用程序对MySQL数据库和MongooseIM服务器执行大量异步调用,这些调用都运行在同一主机上,那么每个处理器的Tornado实例数是否应该更改?如果是,那么规则是什么?如果没有,那么最佳做法是什么

  • 如果您是在一台机器上单独运行nginx,那么您应该为它提供尽可能多的工作进程。如果你和Tornado在同一台机器上运行它,那么你可能想要给它更少(也许只有一台)。但是在这里,过高总比过低好,所以如果您不确定是否可以使用CPU的数量。如果您正在使用TLS(尤其是具有更强的安全设置)或提供大量静态文件,您将需要更多的nginx工作人员,如果只是Tornado的代理,则需要更少的工作人员

  • 每个CPU一个Tornado实例是最好的起点。如果应用程序大量使用线程或在同一台计算机上运行其他程序,则可能会减少此数字;如果在没有线程的情况下执行任何同步数据库/网络调用,则可能会增加此数字

  • 只要您的数据库调用是异步的,它们就不会影响您应该运行多少Tornado进程


  • 对于第1点,如果我在一台机器上独立运行Nginx,那么CPU的数量是我的最佳选择。如果我同时运行它和其他程序,比如Tornado,MySQL,那么降低这个数字是一个很好的选择。那么,这是不是因为要让其他项目分担CPU的费用,而不是让Nginx员工承担大部分费用?这就是原因吗?同样,根据您提到的关于在使用TLS时增加nginx工人数量的内容。现在,如果我说,我通过nginx提供静态文件,通过Tornado提供rest动态内容。通过TLS、https,它还包括用于密码散列的CPU密集型bcrypt。那么现在nginx员工的数量和龙卷风实例的数量如何?规则是什么?以免说2个CPU,也提到4个CPU,然后告诉我一般的x个CPU。没有规则;确定哪个分区适合您的应用程序的唯一方法是进行您自己的负载测试。