Задать вопрос
AlexeevVyacheslav
@AlexeevVyacheslav
Веб-разработчик из Иркутска

Как оптимизировать связку Nginx + Passenger + Ruby on Rails

Привет!
На чистый Debian (VDS 512mb RAM) поставил Ruby из RVM и через passenger-install-module-nginx (если правильно написал команду) установил nginx вместе с passenger.
Как это все оптимизировать? Сервер работает ужасно медленно — ответ на запрос можно ждать секунд по 15-30 (пинг до сервера нормальный).
Проблема в ОЗУ? Разве этого мало?
  • Вопрос задан
  • 3540 просмотров
Подписаться 6 Оценить Комментировать
Решения вопроса 1
viktorvsk
@viktorvsk
Хм, несогласен, что
512 мегабайт это в целом самый минимальный размер озу который можно придумать


У меня на nginx + unicorn работали более-менее нормальные приложения. Правда sass ассеты компилироваться на сервере не могли - упирались в своп.
Было 128 мб оперативки, 700 проца, 256 свопа.

Не знаком с пессенджером, но не думаю, что разница может быть столь существенна. Может быть, дело вообще не в руби или сервере? Попробуйте определить, в чем затык

P.S.
На 8 гигах знаю в продакшене работает 6 приложений, 2 из них довольно популярны. Плюс, еще и стейджинг для разработки там.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Откажитесь от Passenger раз и навсегда, он прожорливый. У меня на сервере с 1Гб оперативки вместе с десятком сайтов на WP (Nginx, PHP5-FPM, Memcached, MariaDB) параллельно крутится Redmine на Unicorn. Изначально по урокам пытался настроить через Passenger - куча гемора и ресурсы жрало жестко. После перехода на Unicorn все летает. Еще есть вариант с Thin, но я сам не пробовал.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
512 мегабайт это в целом самый минимальный размер озу который можно придумать, конечно этого мало для руби, подымите до 4 гигов и посмотрите как оно будет работать.
Ответ написан
Комментировать
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
Посмотрите вывод passenger-status на "Waiting on global queue". Вполне возможно что запросы стоят в очереди от того и время ответа конское.

Ну и конечно требуется вдумчивое чтение этой доки

P.S. попробуйте unicorn в качестве альтернативы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы