Java:通过将应用程序升级到web服务来衡量应用程序的性能
我有一个应用程序,它在某种程度上就像一个服务器。我有一些消费者(另一个应用程序),他们将任务发送到“服务器”应用程序,并因此获得一些东西。该应用程序作为控制台应用程序在Java中实现。问题是,我需要测量应用程序的性能(CPU、内存、吞吐量,如果可能的话,以及我能得到的任何其他东西)。如果我把我的“服务器”作为一个控制台应用程序,我会遇到一个应用程序级别测量的问题,这可能非常困难。我的想法是将控制台应用程序“升级”为web服务,即创建某种包装器,以便能够将“服务器”作为web应用程序调用。我想监控部分会容易得多
我想听听你的想法。这是个好主意吗?如果我将其升级到web服务,是否可以获得更好的结果?我该怎么做呢?在这一点上,我只想得到一些结果,代码可能是脏的。应用程序最初被设想为一个web服务(或类似的东西),控制台应用程序只是一个模拟,因此创建一个web服务而不是控制台应用程序并不是一件可怕的事情
# 1 楼答案
也许可以使用JMX协议和JConsole连接到应用程序。使用JConsole,您将获得有关内存使用、CPU使用、线程等的详细信息。它还允许您通过MBean动态控制应用程序
看看:http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html
# 2 楼答案
是的,把你的应用程序变成一个Web服务是个好主意。它将使您的应用程序安全且可扩展
您可以选择要应用的web服务。我建议您使用RestFul web服务(JAX-RS)。您可以使用sl4j记录有关mem和cpu使用情况的所有信息