乘客服务器升级:处理器(CPU)核心VS Ram?

时间:2011-05-31 07:34:00

标签: ruby-on-rails ruby passenger

我查看了Passenger的文档,了解它可以在硬件配置方面运行多少个应用程序实例。文档仅讨论RAM

  

最佳值取决于系统的硬件和服务器的平均负载。您应该尝试不同的值。但一般来说,该值应至少等于您拥有的CPU(或CPU核心)数量。如果您的系统有2 GB的RAM,那么我们建议值为30.如果您的系统是虚拟专用服务器(VPS)并且具有大约256 MB RAM,并且还运行其他服务(如MySQL),那么我们建议使用值2。

它表示最小值可以是我们拥有的CPU / CPU核心数。我有一个带有一个VCPU和VPS的VPS。 1GB RAM&我的服务提供商可以选择升级RAM。我想知道我能在多长时间内只升级RAM?升级CPU的数量有多重要?

1 个答案:

答案 0 :(得分:3)

快速回答

取决于哪些资源是您应用的瓶颈。

答案很长

您需要考虑以下几点:

  1. 您的应用需要多少CPU时间?
  2. 应用程序的任何给定实例在高峰负载时使用多少RAM?
  3. 您的应用是否会花费大量时间进行IO密集型任务? (即:db和文件读/写,网络通信)
  4. 可以考虑其他因素,但您的瓶颈可能是上述之一。如果RAM是您的主要瓶颈,请务必使用新的RAM。但是,如果事实证明你的应用程序因CPU可用性或泛滥IO而变慢,那么任何数量的RAM都不会加速。

    关于CPU核心主题;我的理解是运行Passenger的主要Apache进程是一个单线程进程。 Apache根据需要生成新线程来处理并发。每个额外的CPU核心理论上允许您生成x*n个线程,其中x是您可以在单个CPU核心下最佳运行的线程数,n是可用于的CPU核心数。的Apache。

    免责声明:我对乘客内部的阅读不是很了解;虽然这种逻辑通常适用于其他类型的Apache配置。