2012-07-25 101 views
5

我的Play有一些嚴重的問題!應用性能。我已經嘗試更改服務器和數據庫,但緩慢持續。通過VisualVM剖析Play框架應用程序(2.0.2)

使用Firebug來衡量我的http請求我發現他們需要大約20秒纔開始回覆。

所以我最後的希望是使用VisualVM來剖析我的應用程序並找到它的瓶頸。但我不知道傳遞諸如「-Dcom.sun.management.jmxremote」之類的參數而不干擾全局JAVA_OPTS變量的正確方式。

再次感謝!

回答

5

它看起來像Metrics自動處理。

以下添加到您的Build.scala應用的依賴關係:

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

並開始插裝代碼。然後用「play run」啓動應用程序--VisualVM應該顯示你的JVM進程,並且你可以直接連接它(假設你有VisualVM-MBeans插件)。檢查您是否有at least 1.3.4。這是我看到的時候,我開始了:

VisualVM

的xsbt.boot.Boot過程中播放。

更一般地說,這個article確實有助於調試基於Akka的框架,如Play。

+2

github鏈接已經死了! – ajay 2014-09-09 06:37:53

+0

萬歲github鏈接! – fish 2017-10-30 12:32:32

4

萬一有人需要來分析一個播放2.3.x版本的應用程序:

  1. 把你的JAVA_OPTS設置在〜/ .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. 在VisualVM中,添加本地JMX連接到localhost:1234