我已經使用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