2010-02-08 7 views
8

Ich stoße auf Deployment-Probleme mit Phusion Passenger auf einer ziemlich großen App: blockierte Prozesse bei hohen Lasten, Leerlaufprozesse, langsames Starten einer Instanz usw. Also habe ich Unicorn untersucht, was ich sehr an einer Architektur mag/Leistungsperspektive.Gibt es eine einfache Anleitung für die Migration von Phusion Passenger zu Unicorn?

Gibt es einfach zu befolgende Migrationsanleitungen für den Übergang von Nginx Phusion Passenger zu Unicorn?

+0

Denken Sie daran, dass es völlig in Ordnung ist, Ihre eigene Frage hier auf StackOverflow zu beantworten. Weil diese Frage fast zwei Wochen alt ist, stelle ich mir vor, dass Sie das inzwischen vielleicht getan haben. :) –

+1

Die Probleme, die Sie mit Phusion Passenger hatten, wurden inzwischen gelöst, und Phusion Passenger gewinnt nun mit Verbesserungen an Geschwindigkeit. Siehe meine Antwort in diesem Thema. – Hongli

Antwort

1

Da neuere Versionen von Rails Rack unter der Haube verwenden, sollte es ziemlich einfach sein, zwischen den Webservern zu wechseln. Wenn Sie Unicorn mit Ihrer Anwendung in einer Entwicklungsumgebung starten, welche speziellen Probleme haben Sie?

Sie sollten Nginx weiterhin als Reverse Proxy verwenden können. Nach dem, was ich gesammelt habe, soll Unicorn den Lastenausgleich zwischen den Arbeitern selbst vornehmen, da es nur einen einzigen abhörenden Socket/Port hat, den sie gemeinsam nutzen. Daher sollte Nginx normalerweise als sehr einfacher Reverse-Proxy und Asset-Server konfiguriert werden, ohne Load Balancing. (Außer natürlich, wenn Arbeiter über Maschinen verteilt werden.)

Gibt es eine spezifische Abhängigkeit von Passagier in Ihrer Anwendung, die Sie zu lösen hoffen? Oder fragen Sie nach allgemeinen Bereitstellungsanweisungen für Unicorn?

1

Diese Probleme wurden seither in Phusion Passenger gelöst. Phusion Passenger 4 unterstützt vollständig das asynchrone Launch von Prozessen, bietet Schutz vor festgefahrenen Prozessen, unterstützt Rolling-Neustarts usw. Aus architektonischer Sicht hat Phusion Passenger 4 ein Hybrid-Evented-/Multi-Threading-/Multi-Prozess-Design übernommen. Es ist wie eine Zusammenführung zwischen Unicorn, Rainbows und Puma, aber es bietet einfache Konfigurationsoptionen, um den Modus nahtlos zu wechseln.