Несколько железнодорожных приложений с использованием Apache и Mongrel - PullRequest
1 голос
/ 23 октября 2008

Я на самом деле разрабатываю и приложение, которое имеет около 15 модулей, все они используют одну и ту же базу данных.

Я использую Apache + Mongrel, я не могу использовать Passenger, потому что я работаю в Windows (пожалуйста, прости меня за этот смертельный грех!)

Что из следующего является лучшим подходом?

  1. Развертывание нескольких небольших рельсов приложения, использующие виртуальный сервер и пара дворняжек для каждого применение.
  2. Развертывание только большого приложения рельсов

Меня беспокоит количество работающих шавок и загрузка памяти / процессора.

Ответы [ 4 ]

2 голосов
/ 24 октября 2008

Я бы предложил развернуть монолитное приложение Rails.

Я использую плагин request_routing для управления 3 доменами, совместно использующими одну и ту же базу данных, из одного большого приложения Rails.

У меня 4 шавки, которых сейчас вполне достаточно, но YMMV.

1 голос
/ 24 октября 2008

Казалось бы, одно приложение лучше всего соответствует вашему сценарию ... как говорили другие ...

Хорошее эмпирическое правило заключается в том, что среднестатистический монгрел потребляет 60 МБ памяти (или меньше) ... возьмите ваш общий объем доступной памяти, вычтите все остальные службы (база данных, memcache и т. Д.), А затем выясните сколько кусков пирога вы можете оставить из оставшейся памяти.

Вы всегда можете увеличить или уменьшить их оттуда ...

1 голос
/ 24 октября 2008

Это зависит от количества одновременных клиентов, которых вы ожидаете иметь. Один дворняга, по одному клиенту за раз (до Rails 2.2), так как Rails в настоящее время не содержит потоков.

Два шавки достаточно, если вы не ожидаете, что несколько пользователей одновременно. Вы можете увеличить это число, используя кэширование страниц, чтобы обойти беспорядок для страниц, которые не имеют динамического содержимого, специфичного для пользователя.

Единственный способ убедиться в этом - проверить систему.

По моему опыту, вам понадобится как минимум 4 шавки для умеренно активного сайта из нескольких пользователей одновременно.

0 голосов
/ 24 октября 2008

Похоже, было бы гораздо лучше использовать ваше оборудование для интеграции всех модулей в одно комплексное приложение rails.

ИМХО основным недостатком Rails является количество ресурсов, необходимое для запуска приложения с низким или очень низким трафиком. С другой стороны, несколько дворняжек имеют большое значение для обслуживания большого количества трафика.

...