Frage

Meine Schienen Websites laufen Mongrel, ich habe ein Problem mit der Menge an Speicher verwendet wird. Mein rubin ist Prozesse werden mit etwa 66 MB resident Speicher. Wie kann ich die Größe des Speichers von Schienen verwendet reduzieren?

Es ist nicht sehr wirtschaftlich viele Schienen-Server haben auf einer einzigen Maschine ausgeführt wird, wenn sie mit dieser Rate Speicher essen. Meine php5 fcgi Prozesse sitzen bei einer Temperatur zwischen 15 bis 25 MB.

Ich bin ziemlich vertraut mit RoR, würde mit JRuby Hilfe? Irgendwelche Kommentare hilfreich bei der Verringerung des Speicherbedarfs und die Leistung erhöht, sind mehr als willkommen.

War es hilfreich?

Lösung

Sie aussehen könnten unter Phusion Passagiere und Ruby-Enterprise Edition , die der de-facto-Standard-Setup für Rails ist apps in diesen Tagen. Eines seiner Ziele ist Schneiden Speichernutzung. Es ist auch einfacher, als einen Haufen Bastard hat.

Andere Tipps

Wenn Sie nicht gebunden sind, für etwas anderes Apache, würde ich auch nginx mit Phusion Passagiere versuchen. Wenn Sie besorgt über die Speichernutzung sind, sollten Sie eine kleinere Stellfläche von nginx als Apache sehen, und die neueste Version von Passagier herunterladen, kompilieren und installieren nginx für Sie mit minimalen Kopfschmerzen.

Sie können auch Ihre Mischlings Prozess mit Thin rel="nofollow, die effizienter ist und vor kurzem wurde gepatcht in seiner Garbage Collection (durch eventmachine), es noch besser zu machen.

Wir verwenden dünne Cluster hinter nginx Frontends mit feinen Ergebnisse.

Ich würde nicht so weit gehen, zu sagen, Passagier der de-facto-Standard ist, aber es ist viel Traktion zu gewinnen. Wir wechselten nur auf Nginx + Passagier, und unser Rubin App (d Bastarde vs. Passagier) Speicherbedarf sank von etwa 450MB bis 295MB. Es kann weniger fallen, als Passagier Procs töten, wenn sie im Leerlauf (dies ist konfigurierbar), aber natürlich, wenn Sie Verkehr sind immer und es wird alle Instanzen verwenden Sie es so konfiguriert ist, dann werden sie Speicher aufbrauchen entsprechend .

Beachten Sie, dass wir noch nicht mit Ruby Enterprise Edition in unserer Konfiguration sind (vor allem, weil es auf Engine Yard noch nicht verfügbar ist), aber wir sind noch einen kleineren Speicherbedarf zu sehen. Speicher war der erste Top-Grund, warum wir den Schalter gemacht, aber es gibt noch andere Vorteile, wie eine schnellere und einfachere Konfiguration für die Skalierung nach oben oder unten, und so weiter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top