2012-07-25 10 views
5

Sto riscontrando seri problemi con il mio gioco! Prestazioni delle applicazioni. Ho già provato a cambiare server e database, ma la lentezza persiste.Creazione di profili di un'applicazione framework Play (2.0.2) tramite VisualVM

Utilizzando Firebug per misurare le mie richieste http ho scoperto che stanno impiegando circa 20 secondi per iniziare a rispondere.

Quindi la mia ultima speranza è usare VisualVM per profilare la mia applicazione e trovare i suoi colli di bottiglia. Ma non conosco il modo corretto di passare alcuni argomenti come "-Dcom.sun.management.jmxremote" senza fare casino con la variabile globale JAVA_OPTS.

Grazie ancora!

risposta

5

Sembra che Metrics gestisca automaticamente.

Aggiungere il seguente alle vostre dipendenze app Build.scala:

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

e iniziare strumentazione codice. Quindi avvia l'applicazione con "play run" - VisualVM dovrebbe mostrare il tuo processo JVM e puoi semplicemente collegarti direttamente (assumendo che tu abbia il plugin VisualVM-MBeans). Verifica se hai at least 1.3.4. Questo è quello che vedo quando inizio up:

VisualVM

il processo xsbt.boot.Boot è Play.

Più in generale, questo article aiuta molto durante il debug di framework basati su Akka come Play.

+2

Il collegamento github è morto! – ajay

+0

Lunga vita al link github! – fish

4

Nel caso in cui qualcuno ha bisogno di un profilo di applicazione Play 2.3.x:

  1. Metti le impostazioni JAVA_OPTS in ~/.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. In VisualVM, aggiungere una connessione JMX locale a localhost: 1234

Problemi correlati