Я хотел бы взглянуть на использование Passenger - он в значительной степени заменил Mongrel и обрабатывает несколько экземпляров Rails.
Rails является однопоточным, поэтому при развертывании с Mongrel «нормально» запускать несколько экземпляров Mongrel в кластере, запущенном Apache, с установленным mod_proxy. Это позволяет Apache отправлять несколько запросов на бесплатные экземпляры приложений.
Любые разумные базы данных рассчитаны на высокий уровень одновременных запросов, поэтому должны иметь возможность обрабатывать большое количество экземпляров приложения.
В зависимости от ресурсов вашего сервера, есть большое преимущество в запуске нескольких экземпляров Mongrel - на самом деле это единственный способ обслуживать параллельные запросы.
Даже на узле с малой памятью (скажем, 512 МБ), если ваше приложение Rails использует 100 МБ памяти, вы легко сможете запустить несколько экземпляров без исчерпания ресурсов - тогда вы сможете обслуживать столько параллельных запросов, сколько у вас есть экземпляров .
В Sliecehost есть несколько замечательных статей, подобных этой: http://articles.slicehost.com/2009/4/17/centos-apache-rails-and-mongrels