Python 为什么要在单个服务器上的多个应用程序实例之间实现负载平衡?

Python 为什么要在单个服务器上的多个应用程序实例之间实现负载平衡?,python,nginx,pylons,pyramid,Python,Nginx,Pylons,Pyramid,我正在使用金字塔,当涉及到部署时,我遇到了这个问题 在同一台服务器上运行同一应用程序的多个实例有什么意义? 是否有我应该运行的最佳实例数量 谢谢。如今,一个系统有多个核心(即处理器)是很常见的。如果你想充分利用它,你应该运行尽可能多的处理器实例,或者少一个操作系统实例。这将允许您最大限度地利用系统 如果您的代码有大量IO调用,那么最佳值甚至可能高于内核数,因为当一个线程从(比如)HD获取数据时,另一个线程可以在处理器上运行。实际上,超过此值通常是安全的,甚至可以是最佳的。这也关系到进程在等待I/

我正在使用金字塔,当涉及到部署时,我遇到了这个问题

在同一台服务器上运行同一应用程序的多个实例有什么意义? 是否有我应该运行的最佳实例数量


谢谢。

如今,一个系统有多个核心(即处理器)是很常见的。如果你想充分利用它,你应该运行尽可能多的处理器实例,或者少一个操作系统实例。这将允许您最大限度地利用系统


如果您的代码有大量IO调用,那么最佳值甚至可能高于内核数,因为当一个线程从(比如)HD获取数据时,另一个线程可以在处理器上运行。

实际上,超过此值通常是安全的,甚至可以是最佳的。这也关系到进程在等待I/O之类的东西上花费了多少时间。如果它们阻塞太多,另一个进程可能正在运行,并利用未使用的CPU时间。@cHao:嗯,说得对,我想我只是不习惯等待IO命令。。。将进行编辑以在中添加信息。python没有真正的多线程。但它是通过线程池工作进程来处理的:一个工作进程一次可以用不同的线程处理多个请求,而不是预工作模型:一个进程只能处理一个请求,否则它报告为空闲。所以,拥有1+个实例是个好主意。你们认为最佳实例数量是多少?每个核心2个?@Jonathan:没有固定的石头编号。这就是我们赚大钱的部分原因。:)最佳数量完全取决于您的应用程序和服务器的性能。在决定什么更好时,您必须平衡磁盘I/O、网络I/O和CPU(以及其他一些东西,如操作系统资源/内存)。