Несколько серверов или все на одном сервере? - PullRequest
3 голосов
/ 07 марта 2012

У меня есть приложение Rails, которое использует MySQL, MongoDB, NodeJS (и SocketIO).Прямо сейчас, приложение (все) размещается внутри 1 коробки.Я хотел бы знать, что я должен делать, когда число пользователей растет.Какие факторы я должен принять во внимание, чтобы определить, нужно ли размещать отдельный элемент в другом блоке (например, MySQL, Node, Mongo в каждом отдельном блоке).Должен ли я просто сделать эту единственную коробку больше?Есть ли метод наилучшей практики, который я могу использовать?

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

Ответы [ 2 ]

4 голосов
/ 07 марта 2012

Мы столкнулись с этой дилеммой на работе некоторое время назад и обнаружили, что достаточно перейти на более мощную отдельную коробку, что даст нам возможность расти еще в 3-4 раза.

Самым важным было бы выявить ваши потенциальные узкие места.

В нашем случае было 2 узких места. Дисковый ввод-вывод и способность базы данных использовать память.

На нашем новом сервере у нас был массив жестких дисков, настроенный таким образом, чтобы максимизировать дисковый ввод-вывод, и мы обновили программное обеспечение базы данных, чтобы позволить ему использовать больше памяти. Фактически СУБД теперь хранит всю базу данных в памяти и выполняет только операции записи на диск по мере необходимости. Это значительно улучшило производительность.

3 голосов
/ 07 марта 2012

Краткий ответ - переместить все в собственную коробку. Более длинный ответ: это зависит от использования вашего приложения.

Я рекомендую вам использовать Nagios или аналогичный инструмент для мониторинга использования ресурсов вашего приложения, то есть того, сколько ЦП и ОЗУ использует каждая из ваших служб. Когда каждый начинает загружать слишком много ресурсов (и скорость загрузки вашей страницы отрицательно сказывается), переместите это в свое поле.

Затем продолжайте следить за этим ящиком, усиливайте при необходимости или осколок.

Блог с высокой масштабируемостью хорош для чтения о том, что сделали другие люди.

...