Ich bin daran interessiert, meine Unicorn-Setup für meine Ruby on Rails 3.1.3 App zu optimieren. Ich erstelle derzeit 14 Worker-Prozesse auf einer extra großen Instanz mit hoher CPU, da meine Anwendung während Lasttests als CPU-gebunden angezeigt wird. Bei etwa 20 Anfragen pro Sekunde, die während eines Simulationslasttests Anforderungen wiederholen, werden alle 8 Kerne in meiner Instanz ausgespielt, und die Boxlast steigt auf 7-8. Jede Unicorn-Instanz verwendet etwa 56-60% CPU.Unicorn CPU-Auslastung bei Belastungstests, Möglichkeiten zur Optimierung
Ich bin gespannt, was sind Möglichkeiten, dass ich das optimieren kann? Ich möchte in der Lage sein, mehr Anfragen pro Sekunde auf eine Instanz dieser Größe zu trichterieren. Speicher ist völlig in Ordnung, wie alle anderen I/O. Die CPU wird während meiner Tests getankt.
Verwenden Sie Ruby 1.9? Wenn nicht, könnte das helfen. – Reactormonk
Ich benutze Ruby 1.9.3 – randombits
Profilieren Sie Ihren Code (Ruby-Prof) finden Sie heraus, warum es langsam ist, versuchen Sie, den Engpass neu zu schreiben. Wiederholen bis schnell genug. Mit 0 Informationen können wir nicht erraten, warum Ihr Code nicht schneller ist. –