【问题标题】:Profiling a Play framework application (2.0.2) through VisualVM通过 VisualVM 分析 Play 框架应用程序 (2.0.2)
【发布时间】:2012-07-23 10:43:04
【问题描述】:

我的 Play 遇到了一些严重的问题!应用程序性能。我已经尝试更改服务器和数据库,但速度仍然缓慢。

使用 Firebug 测量我的 http 请求,我发现它们需要大约 20 秒才能开始回复。

所以我最后的希望是使用 VisualVM 来分析我的应用程序并找到它的瓶颈。但我不知道在不弄乱全局 JAVA_OPTS 变量的情况下传递一些参数(如“-Dcom.sun.management.jmxremote”)的正确方法。

再次感谢!

【问题讨论】:

    标签: profiling playframework-2.0 visualvm


    【解决方案1】:

    看起来Metrics 会自动处理这个问题。

    将以下内容添加到您的 Build.scala 应用依赖项中:

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

    然后开始检测您的代码。然后用“play run”启动应用程序——VisualVM应该显示你的JVM进程,你可以直接连接到它(假设你有VisualVM-MBeans插件)。检查您是否有at least 1.3.4。这是我启动时看到的:

    xsbt.boot.Boot 进程是 Play。

    更一般地说,这个article 在调试 Play 等基于 Akka 的框架时确实很有帮助。

    【讨论】:

    • github链接失效了!
    • github 链接万岁!
    【解决方案2】:

    如果有人需要分析 Play 2.3.x 应用:

    1. 将您的 JAVA_OPTS 设置放入 ~/.activator/activatorconfig.txt (c.f. 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 中,添加到 localhost:1234 的本地 JMX 连接

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 2015-01-29
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      相关资源
      最近更新 更多