2

Ich habe gerade versucht, auf Ruby Enterprise Edition zu wechseln, wie hier beschrieben: http://www.rubyenterpriseedition.com/download.html (Fall: Ubuntu).RoR: Von Ruby zu Enterprise Ruby Edition (keine Speicherersparnis?)

REE verspricht etwa 30% Speicherersparnis, aber in meinem Fall habe ich immer noch 3 Ruby Instanzen mit je 100MB - genau wie zuvor (und das ist viel zu viel für einen fast leeren Server ...).

Also ich vermute, dass der "alte" Rubin immer noch verwendet wird, aber ich bin mir nicht sicher. Was ich in der Apache-Konfigurationsdatei nach der REE-Installation (nach Passagierangaben) geändert sind einige Wege:

ZUVOR:

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

NEU, mit REE:

LoadModule passagier_modul/usr/local/lib/ruby ​​/ Edelsteine ​​/ 1.8/Edelsteine ​​/ Passagier-2.2.14/ext/apache2/mod_passenger.so
PassagierRoute /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.14
PassengerRuby/usr/local/bin/ruby ​​

Muss ich etwas anderes tun (zum Beispiel einige andere Pfade ändern)? Wenn ja, was und wie?

Vielen Dank für Ihre Hilfe!
Tom

Antwort

1

Wenn Leute auf die Speichereinsparungen von REE im Vergleich zu anderen Interpretern verweisen, beziehen sie sich auf Zahlen, die aus Benchmarks generiert wurden.

Diese Benchmarks stammen aus einem Code, der viele tausend Mal in schneller Folge aufgerufen wird, damit die Zahlen die Leistung unter Last widerspiegeln. REE kommt oft an die Spitze, weil seine Müllsammlung besser ist, neben vielen anderen Dingen.

Dies entspricht nicht der RAM-Menge, die eine App im Leerlauf verbraucht. Sie werden wahrscheinlich in den meisten wenn nicht allen Fällen finden, dass eine Leerlauf-Rails-App auf REE so ziemlich die gleiche Menge an RAM verbrauchen würde wie die gleiche App, auf demselben Server, aber mit MRI (Matz 'Ruby Interpreter - der Standard) konsumieren, weil es nicht unter den Bedingungen ist, die REE zum Leuchten bringen.

Als Antwort auf Ihre Frage, können Sie herausfinden, was der Ruby, auf den Sie jetzt Passagier gezeigt haben, ist, auf Ihrem Server: /usr/local/bin/ruby -v. Wenn REE nicht gemeldet wird, haben Sie Ihre Pfade falsch gesetzt.

+0

Danke! Also, wenn ich richtig verstehe, ist es definitiv der Rubin, auf den die Passagiere zeigen, der benutzt wird (und es gäbe keine anderen Pfade, die man überprüfen oder modifizieren könnte, wie die Pfade der Umgebung)? – TomDogg

+0

Ja, das ist richtig. – idlefingers

+0

Großartig, vielen Dank! – TomDogg