如何在Apache + Mongrel应用程序中平衡负载

时间:2010-06-07 23:10:01

标签: ruby-on-rails apache mongrel mongrel-cluster

我想知道是否有人可以解释如何平衡rails应用程序。

两个问题:

  1. 它是否有助于让相同的专用服务器中的同一数据库中的单独的rails应用程序读取?

  2. 我了解Apache可以平衡负载安装一些额外的模块吗?我对吗?我们怎么能做到这一点? (请提供假人的解释)

1 个答案:

答案 0 :(得分:1)

我会看一下使用Passenger - 它已经在很大程度上取代了Mongrel并处理了多个Rails实例的运行。

Rails是单线程的,因此在使用Mongrel进行部署时,在安装了mod_proxy的Apache前端的集群中运行多个Mongrel实例是“正常的”。这使得Apache可以将多个请求分派给免费的应用程序实例。

任何合理的数据库都是针对高级别的并发请求而设计的,因此应该能够处理大量的应用程序实例。

根据您的服务器资源,运行多个Mongrel实例有很大好处 - 它实际上是提供并发请求的唯一方法。

即使在小内存主机(比如512mb)上,如果您的Rails应用程序使用100mb内存,您可以轻松地运行多个实例而不会耗尽资源 - 然后您可以提供与实例一样多的并发请求

Sliecehost有一些很棒的文章,如:http://articles.slicehost.com/2009/4/17/centos-apache-rails-and-mongrels

相关问题