Назад | Перейти на главную страницу

Nginx + Пассажир = Медленный ответ

Я запускаю nginx 1.0.4 с приложениями Passenger 3.0.11 и Rails, и я заметил, что на каждый сделанный мной запрос требуется около 5 секунд, чтобы ответить на первый запрос, если я перезагружу его после завершения первого запроса. , это быстро, но если я подожду, например, минуту, снова новый первый запрос займет время.

Это нормально или может что-то не так с моими конфигами?

ОС: MacOSX 10.7.3

Другой вариант, на который вы могли бы обратить внимание, - это установить задание cron на каждые 5 минут, которое будет получать URL-адрес сайта, таким образом, Passenger будет готов к работе. У меня такая же проблема в производстве, когда, если приложение не используется какое-то время, доступ к нему в первый раз медленный (3-5 секунд), пока Passenger раскручивается. Потом очень быстро.

Вот еще один способ сохранить его в живых (добавьте в свой crontab:

*/5 * * * * wget http://yoursite.com > /dev/null 2>&1 

Более длительное ожидание первого запроса пассажира (на сайте с низкой посещаемостью) - это нормально.

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

Например:

в http {} части конфигурации nginx

passenger_pre_start http://url_of_your_application/;

в серверной части {}

passenger_min_instances = 1;