在服务器端配置应用程序

时间:2013-03-25 20:38:40

标签: java profiling server-side hprof

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

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

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

现在我打算在我的profiling上的Server SideREST Service,这意味着我需要查看哪些方法花了我的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我可以进一步分析吗?

1 个答案:

答案 0 :(得分:1)

它真正归结为您正在使用的工具,它们提供了不同的解决方案。通常,他们会监听服务器端JVM中的端口,该工具附加工具。有些工具会触摸类来添加额外的信息,有些工具可以无需修改即可对应用程序进行概要分析。

我过去曾使用过JProfiler,这非常好。不过,它是一种商业工具。所以需要付出代价。我已经使用了NetBean的分析器以及良好的结果。这是一个免费的应用程序,所以没有成本。尽管我没有任何个人经验,但是JavaMelody看起来也很好,但也没有任何个人经验。

你只需要拿一个工具然后试一试。