Frage

Dies könnte auch gehören serverfault. Es ist so eine Art Combo zwischen Serverkonfiguration und Code (glaube ich)

Hier ist mein Setup:

Rails 2.3.5 app running on jruby 1.3.1
Service Oriented backend over JMS with activeMQ 5.3 and mule 2.2.1
Tomcat 5.5 with opts: "-Xmx1536m -Xms256m -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled"
Java jdk 1.5.0_19
Debian Etch 4.0

Beim Laufen top, jedes Mal wenn ich einen Link auf meiner Website klicken, sehe ich meine java Prozess CPU-Auslastung Spitze. Wenn es sich um eine kleine Seite, es ist manchmal nur 10% Nutzung, aber manchmal auf einer komplizierteren Seite, meine CPU geht auf 44% nach oben (nie oben, nicht sicher, warum). In diesem Fall kann eine Anfrage nimmt nach oben von Minuten, während meines Server load average stetig bis 8 oder höher klettert. Dies ist nur von Klick-Link, dass lädt ein paar Anfragen von einigen Diensten, nichts zu kompliziert. Die Java-Prozess Speicher schwebt rund 20% die meiste Zeit.

Wenn ich es für ein bisschen verlassen, geht durchschnittliche Belastung wieder nach unten zu nichts. Durch Klicken auf ein paar Links, Aufstiege sichern.

Ich bin eine kleine amazon Instanz läuft für die Schienen Frontend und eine große Instanz für alle Dienste.

Nun, dies ist offensichtlich nicht akzeptabel. Ein einzelner Benutzer kann bis zu 8 Spitze der Last Durchschnitt bringen und mit zwei Personen benutzen es, hält es, dass die durchschnittliche Belastung für die Dauer unserer mit der Website. Ich frage mich, was ich tun kann, zu untersuchen, was los ist? Ich bin zu einem vollständigen Verlust, wie ich das Debuggen kann. (Es lokal nicht passieren, wenn ich laufen die Schienen app durch jruby, nicht innerhalb des Katers Container)

Kann jemand mich aufklären, wie ich auf meinen jruby App überprüfen könnte, um herauszufinden, wie es möglicherweise so große Ressourcen werden könnte?

Hinweis, bemerkte ich dies ein wenig vor, scheinbar zufällig, aber jetzt, nach dem Upgrade von Rails 2.2.2 bis 2.3.5 Ich sehe ihm die ganze Zeit und es macht die Website völlig unbrauchbar.

Irgendwelche Tipps, in denen zu sehen sind, sehr geschätzt. Ich weiß nicht einmal, wo ich anfangen soll.

Keine korrekte Lösung

Andere Tipps

Stellen Sie sicher, dass es keine unerwartete Kommunikation ist auch zwischen dem Tomcat und etwas. Ich würde in erster Linie prüfen, ob:

  • ActiveMQ Broker nicht mit den anderen Maklern in Ihrem Netzwerk kommunizieren. Durch AMQ Broker Standard startet in Openwire Auto-Discovery-Modus.
  • JGroups / Multicasts im Allgemeinen kommuniziert nicht mit etwas in Ihrem Netzwerk.

Diese unnötige Last von der Verarbeitung der Nachrichten führen kann aus einer anderen Anwendung kommen.

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