Frage

Ich betreibe ein Ubuntu 8.04 Hostern (VMWare) mit Apache + Passagier (= Mod Rails), MySQL und Acts_As_Ferret (im Server-Modus). Es ist zu langsam auf den ersten Anfragen. Ich mache viel von REST-Operationen auf sie und haben nur sehr wenige Benutzer.

Jetzt möchte ich eine neue Installation tun ...

Welche Setup (basierend auf Ubuntu) empfehlen Sie für einen wirklich bissig RoR Server? (z Ngnix, Dünn, Bastarde oder andere fancy stuff)

War es hilfreich?

Lösung

Überprüfen Sie die ec2onrails Mailing-Liste, wo es viel Diskussion über die verschiedenen dünnen / nginx / Passagier / Apache Alternativen und Permutationen war, sowie einige harte Daten auf ein paar anständige Tests gepostet basiert.

Sie finden auch ein schönes verpackt RoR / Ubuntu-Stack in der Form des ec2onrails Bildes (google ec2onrails) zu finden - es ist für auf der Amazon EC2 Cloud läuft, aber es hat eine Menge schöner Sachen bekommt dort + Capistrano Aufgaben. Derzeit ist es auf Apache basiert, aber die Version läuft bei den Alternativen suchen. Kein Grund, warum Sie nicht den gleichen Build-Skript für einen nicht EC2-Server verwenden können.

Wenn Ihr Problem ist einfach die Erstanträge, versuchen Sie Ihren Server aufwärmen, bevor sie leben unter Berücksichtigung (beispielsweise durch das Ausführen eines Skripts die grundlegenden Operationen automatisch ausüben).

Oh, und ich möchte hinzufügen - sind Sie sicher, dass das Problem Ihr Stack ist? Wahrscheinlicher ist es Ihr Code. Es kann sich lohnen, zu sehen, wo Ihre Engpässe ersten sind und was Sie aus Caching verbessert Abfragen und Indizierung zu bekommen, und vor allem Memcached vor allem anderen zwicken.

Andere Tipps

Der Passagier ist auf den ersten Anfragen langsam, weil es im Leerlauf ist und es schaltet sich alle Schienen Prozesse so die erste Anforderung einen Schienen Prozess zu laden hat. Sie müssen entweder ping regelmäßig es Leerlauf und Schließschienen Prozesse zu vermeiden oder die Leerlaufzeit auf einen hohen Wert festgelegt.

Schauen Sie in der Dokumentation zu RailsPoolIdleTime

Nun könnte man einen großen Geschwindigkeitsschub erhalten, indem auf Ubuntu 9.04 Schalten oder sogar 8,10

Ich persönlich benutze nginx + Passagier auf meinem Ubuntu-Stack. und verwenden Sphinx statt Frettchen als auch

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