2012-07-25 10 views
5

Mam poważne problemy związane z moją grą! Wydajność aplikacji. Próbowałem już zmienić serwer i bazę danych, ale spowolnienie trwa.Profilowanie aplikacji ramowej Play (2.0.2) za pośrednictwem VisualVM

Używanie Firebug do mierzenia moich żądań http dowiadywałem się, że trwają one około 20 sekund, aby rozpocząć odpowiadanie.

Moja ostatnia nadzieja polega na użyciu VisualVM do profilowania aplikacji i znajdowania jej wąskich gardeł. Ale nie znam właściwego sposobu przekazywania argumentów typu "-Dcom.sun.management.jmxremote" bez naruszania globalnej zmiennej JAVA_OPTS.

Jeszcze raz dziękuję!

Odpowiedz

5

Wygląda na to, że Metrics obsługuje to automatycznie.

Dodaj poniższe linie do swoich zależnościami aplikacji Build.scala:

"com.yammer.metrics" % "metrics-core" % "2.1.2" 

I zacząć instrumentacji kodu. Następnie uruchom aplikację z "uruchom run" - VisualVM powinien pokazać proces JVM i możesz po prostu połączyć się z nim bezpośrednio (zakładając, że masz wtyczkę VisualVM-MBeans). Sprawdź, czy masz at least 1.3.4. To, co widzę, kiedy zacznę się:

VisualVM

proces xsbt.boot.Boot to-play.

Ogólnie rzecz biorąc, ta article naprawdę pomaga podczas debugowania frameworków opartych na Akka, takich jak Play.

+2

Łącze github nie działa! – ajay

+0

Niech żyje link do githuba! – fish

4

W przypadku gdy ktoś potrzebuje do profilu app play 2.3.x:

  1. umieścić swoje ustawienia JAVA_OPTS w ~/.activator/activatorconfig.txt (CF https://typesafe.com/activator/docs):

     
    -Dcom.sun.management.jmxremote.port=1234 
    -Dcom.sun.management.jmxremote.rmi.port=1234 
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Dcom.sun.management.jmxremote.ssl=false 
    -Djava.rmi.server.hostname=127.0.0.1 
    
  2. W VisualVM dodaj lokalne połączenie JMX do localhost: 1234

Powiązane problemy