Я запускаю 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;