RoR: от Ruby до Enterprise Ruby Edition (без экономии памяти?) - PullRequest
2 голосов
/ 04 января 2011

Я только что попытался перейти на Ruby Enterprise Edition, как описано здесь: http://www.rubyenterpriseedition.com/download.html (case: Ubuntu).

REE обещает около 30% экономии памяти, но в моем случае явсе еще есть 3 экземпляра ruby ​​размером около 100 МБ каждый - как и раньше (и я думаю, что это слишком много для почти бездействующего сервера ...).

Так что я подозреваю, что «старый» рубин все еще используется,но я не уверен.Что я изменил в конфигурационном файле Apache, после установки REE (следуя инструкциям Пассажира) есть несколько путей:

ПРЕДЫДУЩАЯ:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
PassengerRuby /usr/bin/ruby1.8

NEW, с REE:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.14/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.14
PassengerRuby / usr / local / bin / ruby ​​

Нужно ли делать что-то еще (изменить некоторые другиедорожки, например)?Если да, то что и как?

Спасибо за помощь!
Том

1 Ответ

1 голос
/ 05 января 2011

Когда люди ссылаются на экономию памяти REE по сравнению с другими интерпретаторами, они ссылаются на цифры, которые были сгенерированы из эталонных тестов.

Эти эталонные тесты взяты из кода, который быстро вызывается много тысяч разпоследовательность, так что цифры отражают производительность под нагрузкой.REE часто выходит на первое место, потому что его сборка мусора лучше, чем многие другие.

Это не отражает объем ОЗУ, которое приложение использует в режиме ожидания.В большинстве случаев вы, вероятно, обнаружите, что приложение на холостом ходу в REE будет потреблять практически столько же ОЗУ, сколько и то же приложение на том же сервере, но с использованием MRI (по умолчанию - Matz 'Ruby Interpreter)потреблять, потому что это не соответствует условиям, которые заставляют REE сиять.

Отвечая на ваш вопрос, вы можете узнать, на каком рубине вы сейчас указали пассажиру, на вашем сервере: /usr/local/bin/ruby -v.Если это не сообщает REE, значит, вы неправильно указали пути.

...