Я установил PassengerPoolIdleTime на 0, с ожиданием, что это означает, что я могу «разогревать» кучу пассажирских процессов на моем сервере, а в следующий раз, когда у меня есть пакет трафика (даже если это будет несколько дней спустя), все они будут разогреты и готовы принять запросы.Пассажирские процессы перезапускаются, несмотря на то, что PassengerPoolIdleTime равен 0
То, что я вижу, это то, что каждое утро, когда я встаю, passenger-status
показывает только несколько процессов, и все они были только с полуночи. На предыдущий день я разогрел кучу процессов, и в последний раз, когда я смотрел passenger-status
(до полуночи), их было 50.
Вот весь фрагмент, связанный с пассажиром, с моего httpd.conf (я на CentOS):
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger 2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/local/bin/ruby
PassengerMaxPoolSize 60
PassengerPoolIdleTime 0
Я проверил crontabs для корня и апача, чтобы увидеть, есть ли что-то вызывая перезапуск Apache, но я не вижу его.
Вот отрывок из passenger-status
, примерно 11 часов и 46minutes после полуночи:
----------- General information -----------
max = 60
count = 3
active = 0
inactive = 3
Waiting on global queue: 0
----------- Domains -----------
/var/www/myapp/current:
PID: 20704 Sessions: 0 Processed: 360 Uptime: 11h 44m 16s
PID: 20706 Sessions: 0 Processed: 4249 Uptime: 11h 44m 9s
PID: 20708 Sessions: 0 Processed: 14189 Uptime: 11h 44m 9s
И вот что я вижу, если я делаю ps aux | grep apache
:
apache 13297 0.0 0.0 546652 5312 ? Sl 14:28 0:00 /usr/sbin/httpd.worker
apache 13332 0.0 0.0 546652 5336 ? Sl 14:28 0:00 /usr/sbin/httpd.worker
apache 13334 0.0 0.0 546652 5328 ? Sl 14:28 0:00 /usr/sbin/httpd.worker
root 16841 0.0 0.0 6004 628 pts/0 S+ 15:48 0:00 grep apache
root 20478 0.0 0.0 88724 3640 ? Sl 04:02 0:01 /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/ApplicationPoolServerExecutable 0 /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.11/bin/passenger-spawn-server /usr/local/bin/ruby /tmp/passenger.30916
apache 20704 0.0 1.7 251080 135164 ? S 04:02 0:06 Rails: /var/www/apps/myapp/current
apache 20706 0.2 1.7 255188 137704 ? S 04:02 1:52 Rails: /var/www/apps/myapp/current
apache 20708 0.9 1.7 255180 139332 ? S 04:02 6:26 Rails: /var/www/apps/myapp/current
Сервер по UTC, поэтому 04 : 02 соответствует 12:02 утра моего времени (EDT).
Является ли это единственным приложением для пассажиров? Даже при настройке 0 они будут отключены, если в другом приложении необходимы процессы. Также проверьте измененное время файла restart.txt, если что-то коснется этого, оно перезапустится. – danivovich
Да, это единственное приложение для пассажиров. Хорошая идея проверить файл restart.txt, но он не был затронут с 26 марта ... – bantic