我已经使用Jsp,servlets编写了一个我想对其执行运行时测试的Java文件。我从来没有这样做过,只是好奇如何去做。如何在web应用程序中查找cpu,io,加载页面的内存利用率
除了实际的时间安排外,我很感兴趣的是如何在运行应用程序时查找cpu,内存和io利用率。您的想法值得赞赏。
我已经使用Jsp,servlets编写了一个我想对其执行运行时测试的Java文件。我从来没有这样做过,只是好奇如何去做。如何在web应用程序中查找cpu,io,加载页面的内存利用率
除了实际的时间安排外,我很感兴趣的是如何在运行应用程序时查找cpu,内存和io利用率。您的想法值得赞赏。
通常情况下,您不会在应用程序内测量这些值,而是通过在同一主机上运行另一个工具。
如果您只是想看到对主机操作系统的影响,您可以使用top
(在* nix框)或Windows上的旧的任务管理器等程序来查看CPU /内存/ IO利用率你的Java进程(通常是诸如Tomcat的servlet容器)。
如果您想了解有关实际Java进程本身的更多详细信息,可以连接JConsole或jvisualvm以获取进程本身的VM信息(包括内存和CPU)。 (对于Java 6,您应该可以在本地计算机上执行此操作,而无需在启动时将任何参数传递给Java进程;对于Java 5或远程连接,您需要将命令行参数传递给Java进程以允许(远程)JMX连接。)
最后,如果你想真的深入详细的资源使用情况,直到各种方法的表现(这听起来像你之后),你需要使用分析器。 Java有几种 - YourKit和JProfiler是最大的商业版本(我的无保留意见)。我相信NetBeans IDE也有一个体面的分析器内置。将它们连接到应用程序的过程会因应用程序本身而异,但这些都通常允许您“深入”CPU时间,以查看哪些类/方法需要执行大多数周期,并且同样需要向下钻取进入内存使用,看看哪些类占用最多的内存。
我想你需要在客户端(浏览器)这个信息。所以这不是基于Java的问题。
如果是这样,这里是我的回答: 我更喜欢使用FireBug和ySlow扩展。他们提供性能信息,内存信息等等。
我将它与使用常规任务管理器结合使用可以查看有关浏览器的更多信息。
BR
的标准方法来监视正在运行的Java应用程序,这些天是唱JMX通过JConcole
如果一个使用类似的Weblogic或WebSphere商业应用程序服务器,这些定制,功能强大管理控制台,提供您正在查找的监控信息。这些控制台核心的技术仍然是JMX,因此可以使用标准的JConsole监控和管理这些技术。 This article shows how to do this for Weblogic。
更新:非常感谢 – Aravindkumar 2010-02-03 09:29:54