Пассажир не работает постоянно

Мне интересно, может ли кто-нибудь сообщить мне о правильном поведении приложения Rails, работающего через Rack/Passenger, так как я наблюдаю какое-то необычное поведение в производственной системе, которая никогда не работала совершенно правильно.

Насколько я понимаю, Passenger будет создавать экземпляры Rack для удовлетворения спроса на веб-приложение. У меня проблема в том, что процессы Passenger и Rack исчезают через несколько минут работы. В этом случае следующий запрос перезапустит и пассажира, и стойку, но это может занять более 10 секунд.

Когда я смотрю на список процессов, я вижу, что когда все работает хорошо, у меня есть по крайней мере один экземпляр "Rack: /my_application". У меня также работает "Passenger ApplicationSpawner".

ApplicationSpawner, кажется, исчезает примерно через 10 минут, и экземпляры Rack иногда также исчезают. Иногда я не получаю процессов Rack или ApplicationSpawner, поэтому следующий запрос занимает много времени.

Есть идеи, как это исправить?

1 ответ

Решение

Это намеренное (и даже, некоторые говорят, желаемое) поведение со стороны Пассажира. Он любит обрезать неиспользуемые рабочие приложения, чтобы оперативная память была доступна для других вещей, если это необходимо. Вы можете настроить поведение пассажира с помощью PassengerMinInstances и / или PassengerPoolIdleTime,

Другие вопросы по тегам