【问题标题】:Java: measuring performance of an application by upgrading it to a web serviceJava:通过将应用程序升级到 Web 服务来衡量应用程序的性能
【发布时间】:2011-06-07 09:02:56
【问题描述】:

我有一个在某种程度上表现得像服务器的应用程序。我有一些消费者(另一个应用程序)将任务发送到“服务器”应用程序并得到一些结果。该应用程序在 Java 中作为控制台应用程序实现。问题是我需要测量应用程序的性能(CPU、内存、吞吐量(如果可能)以及我能得到的任何其他东西)。如果我将“服务器”保留为控制台应用程序,则会遇到应用程序级别测量的问题,这可能非常困难。我的想法是将控制台应用程序“升级”为 Web 服务,即创建某种包装器,以便能够将“服务器”称为 Web 应用程序。我想监控部分会容易得多。

我想听听您对此的看法。这是一个好主意吗?如果我将它升级到 Web 服务,我可以获得更好的结果吗?我该怎么做呢?此时我只想得到一些结果,代码可能很脏。该应用程序最初被想象为一个 Web 服务(或类似的东西),控制台应用程序只是一个模拟,因此创建一个 Web 服务而不是控制台应用程序并不是一件可怕的事情。

【问题讨论】:

    标签: java web-services performance monitoring


    【解决方案1】:

    也许您可以使用 JMX 协议和 JConsole 连接到您的应用程序。使用 JConsole,您将获得有关内存使用、CPU 使用、线程等的详细信息。它还允许您通过 MBean 动态控制您的应用程序。

    看看:http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

    【讨论】:

    • @Op.我们正在使用 JMX 来监控我们的服务器进程/应用程序。效果很好,并且有可以与 JMX 一起使用的 html 适配器。我认为切换到 Web 服务没有任何意义。
    【解决方案2】:

    是的,让您的应用程序成为 Web 服务是个好主意。它将使您的应用程序安全且开箱即用。

    您可以自行选择要应用的网络服务。我建议您使用 RestFul Web 服务 (JAX-RS)。您可以使用 sl4j 记录所有有关内存和 cpu 使用情况的信息。

    【讨论】:

    • “它将使您的应用程序安全且开箱即用。” - 想扩展这个?
    • 所有 Web 服务都提供了自己的方式来保护应用程序。因此,与其通过自定义构建安全性来保护您自己的应用程序,不如使用它。对于可伸缩性,您不必管理现在有多少用户正在使用应用程序。所有请求都将由 Web 服务在其各自的会话中处理。
    • 好的,所以“可扩展”是指“处理并发请求”。我现在明白了!
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 2011-01-29
    • 2017-05-02
    • 2013-03-30
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多