【问题标题】:Profile Applications on the Server Side服务器端的配置文件应用程序
【发布时间】:2013-03-25 20:38:40
【问题描述】:

我有一个client,它是Multithreaded 代码,它正在访问我正在部署到这台机器上的REST service 之一-

http://px5qa01c-8539.host.com:8080/service/TEService/v1/get/USERID=100/PURCHASED

我可以远程访问上述机器,它是一台 Linux 主机。

现在我计划在REST Service 上的Server Side 上执行profiling,这意味着我需要查看哪些方法在我的 REST 服务上花费了多少时间。

在客户端,我正在运行这样的程序 - 它将访问我在上述机器上部署的 REST Service

java -Xrunhprof:cpu=samples,thread=y,depth=12,cutoff=0 -jar ServiceLnP.jar service_config.properties NUMBER_OF_THREADS:20 TOTAL_RUNNING_TIME:60

所以在客户端,它会生成java.hprof.txt文件,我可以用HP Jmeter打开并分析它。

问题陈述:-

但是在服务器端我应该怎么做呢?分析已部署在其他机器上的应用程序的最佳方法是什么。

仅供参考 - 部署它的容器是 Geronimo。那么有什么办法,我也可以在服务器上启用hprof,一旦我在完成后点击我的REST服务,它就会生成java.hprof.txt,我可以进一步分析?

【问题讨论】:

标签: java profiling server-side hprof


【解决方案1】:

这真的取决于您使用的工具,它们提供了不同的解决方案。很多时候,他们会监听服务器端 JVM 中的一个端口,该工具附加了该工具。一些工具通过触摸类来添加额外的信息,一些工具可以在不修改的情况下分析应用程序。

我过去使用过 JProfiler,非常好。不过,它是一种商业工具。所以是有代价的。我也使用过 NetBean 的分析器,效果很好。这是一个免费的应用程序,所以那里没有任何费用。 JavaMelody 看起来不错,正如 Piotr 建议的那样,虽然我没有任何个人经验。

您只需拿起一个工具并尝试一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2018-02-03
    相关资源
    最近更新 更多