如何在Web应用程序中查找加载页面的cpu,io,内存利用率

时间:2010-02-03 08:08:06

标签: java

我编写了一个Java文件,使用Jsp,servlets,我想在其上执行运行时测试。我以前从未这样做过,只是对如何去做而感到好奇。

除了实际的时间之外,我还知道如何在运行应用程序时找到cpu,内存和io利用率。我们很感激你的想法。

3 个答案:

答案 0 :(得分:1)

通常,您不会在应用程序中测量这些内容,而是在同一主机上运行其他工具。

如果您只想查看对主机操作系统的影响,可以使用top(在* nix框上)或Windows上的旧任务管理器等程序来查看CPU /内存/ Java进程的IO利用率(通常是像Tomcat这样的servlet容器)。

如果您想了解有关实际Java进程本身的更多详细信息,可以连接JConsolejvisualvm以获取进程本身的VM信息(包括内存和CPU)。 (使用Java 6,您应该能够从本地计算机执行此操作,而无需在启动时将任何参数传递给Java进程;对于Java 5或远程连接,您需要将命令行参数传递给Java进程以允许(远程)JMX连接。)

最后,如果您希望真正深入了解资源使用情况,那么直到各种方法的性能(听起来就像您之后),您将需要使用探查。 Java中有以下几种 - 其中YourKit和JProfiler是最大的商业用户(根据我的无保留意见)。我相信NetBeans IDE内置了一个不错的分析器。将这些连接到您的应用程序的过程将根据应用程序本身的不同而不同,但这些通常都允许您“深入”查看CPU时间,以查看哪些类/方法执行的周期最多,同样向下钻取进入内存使用以查看哪些类占用的内存最多。

答案 1 :(得分:0)

目前监控正在运行的Java应用程序的标准方法是通过 JMX

点亮 JConcole

如果您使用商业应用服务器(如Weblogic或WebSphere),那么它们具有自定义且功能强大的管理控制台,可提供您正在寻找的监控信息。这些控制台核心的技术仍然是JMX,因此也可以使用标准JConsole监控和管理这些技术。的 This article shows how to do this for Weblogic

答案 2 :(得分:-1)

我猜你在客户端(浏览器)需要这个信息。所以这不是基于Java的问题。

如果是这样,这是我的答案: 我更喜欢使用FireBug和ySlow扩展。它们提供性能信息,内存信息等等。

我将其与常规任务管理器结合使用,以查看有关浏览器的更多信息。

BR