Apache/Passenger: не следует PassengerMaxPoolSize/PassengerMaxInstancesPerApp?

Если я прав, когда думаю, что линия

30193 ramon     16   0  170M  119M  3628 S  0.0 11.6  0:08.47 Rack: /var/www/salcedoauctions/current

в htop означает, что в приложении salcedoauctions есть один спавн, тогда почему же спэнов гораздо больше, чем я указал?

Вот мой httpd.conf:

....
PassengerMaxPoolSize 4
PassengerMaxInstancesPerApp 2
....

Вот полу-полный htop:

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
30193 ramon     16   0  170M  119M  3628 S  0.0 11.6  0:08.47 Rack: /var/www/salcedoauctions/current
30197 ramon     18   0  170M  119M  3628 S  0.0 11.6  0:02.08 Rack: /var/www/salcedoauctions/current
30198 ramon     18   0  170M  119M  3628 S  0.0 11.6  0:01.96 Rack: /var/www/salcedoauctions/current
30199 ramon     18   0  170M  119M  3628 S  0.0 11.6  0:01.96 Rack: /var/www/salcedoauctions/current
30067 ramon     15   0  167M  117M  3648 S  0.0 11.5  0:08.77 Rack: /var/www/salcedoauctions/current
30202 ramon     16   0  167M  117M  3648 S  0.0 11.5  0:04.55 Rack: /var/www/salcedoauctions/current
30203 ramon     16   0  167M  117M  3648 S  0.0 11.5  0:03.43 Rack: /var/www/salcedoauctions/current
30204 ramon     16   0  167M  117M  3648 S  0.0 11.5  0:03.32 Rack: /var/www/salcedoauctions/current
28454 ramon     16   0 73764 51732  2520 S  0.0  4.9  0:00.66 Rack: /var/www/unstilted/current
.....

Некоторые заметки:

  • Да, я перезапустил apache, чтобы он мог перезагрузить конфигурацию (фактически, несколько раз, так как серверу не хватало памяти)
  • CentOS 5.5
  • Ruby EE 1.8.7
  • Rails 3.0.1
  • Пассажир 3.0.0

  • ОБНОВЛЕНИЕ № 1 делает passenger-status хотя показывает цифры, которые я ожидаю увидеть. Полагаю, я просто неправильно это понял. Причина, по которой я спрашиваю, заключается в том, что моя 1 ГБ память израсходована, а иногда сервер останавливается. Кажется, что эти процессы загружают оперативную память.

  • ОБНОВЛЕНИЕ № 2: Я спросил в #rubyonrails, и меня спросили, разветвляют ли какие-либо приложения какие-либо процессы. Оба приложения ничего не разветвляют, но я использую Dragonfly для обработки своих изображений и вложений. Тем не менее, я не знаю, как я могу точно определить, является ли это причиной проблемы.
  • ОБНОВЛЕНИЕ № 3 (14 октября 2011): я обновился до Ruby 1.9.2, Rails 3.1.x, dragonfly 0.9.3, ImageMagick 6.7; и у меня все та же проблема. Это больше не Dragonfly, потому что новые версии не используют rmagick, Это делает вызов командной строки для преобразования изображений.

1 ответ

Для отслеживания этих проблем, работает passenger-status -v на сервере даст хороший обзор того, что на самом деле активно. Точно так же, passenger-memory-status даст вам хороший обзор использования памяти.

Что касается версий, рассмотрите возможность обновления до пассажирского> 3.0.7 - у меня были похожие проблемы с рельсами / стрекозой и утечками памяти в ранних выпусках 3.0. ImageMagick 6.6.0 и rmagick 2.13.1 уже давно работают хорошо.

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