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

Какой объем памяти должен занимать мой стек рельсов?

Я использую свой собственный веб-сервер на 384 МБ VPS от Slicehost для обслуживания двух приложений Ruby on Rails на отдельных виртуальных хостах. Я использую Phusion Passenger с Apache2. Ниже приводится содержимое моего Passenger.conf.

<IfModule passenger_module>

PassengerRoot /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerLogLevel 0
PassengerRuby /usr/local/bin/ruby
PassengerUserSwitching on
PassengerDefaultUser nobody
PassengerMaxPoolSize 3
PassengerMaxInstancesPerApp 2 
PassengerPoolIdleTime 300

# Ruby on Rails Options

RailsAutoDetect on
RailsSpawnMethod smart

NameVirtualHost *:80
</IfModule>

Если я сделаю «верхний» на своем сервере, у меня в среднем используется 314 МБ, это будет слишком много? Я ошибаюсь, и если нет, какие возможные шаги я могу предпринять, чтобы уменьшить использование памяти?

Спасибо!

Все зависит от приложений, которые вы пытаетесь разместить. Чем больше моделей / контроллеров имеет приложение, тем больше будет приложение. Чтобы лучше понять, сколько использует само приложение rails, попробуйте ввести команду.

passenger-memory-stats

Мое приложение среднего размера на данный момент использует:

### Total private dirty RSS: 68.93 MB

По словам пассажира. Если у вас есть несколько сайтов, работающих на одном экземпляре пассажира, это может выглядеть примерно так:

### Total private dirty RSS: 1489.46 MB

Также учтите, что если вы запускаете стандартный mysql-сервер, настройки на самом деле не оптимизированы для использования VPS (и, следовательно, с низким объемом памяти).