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

标签 java

我已经使用 Jsp、servlet 编写了一个 Java 文件,我想对其执行运行时测试。我以前从未这样做过,只是好奇如何去做。

除了实际的计时之外,我感兴趣的是如何在运行应用程序时找到 cpu、内存和 io 利用率。感谢您的想法。

最佳答案

通常,您不会在应用程序内测量这些,而是​​通过在同一主机上运行另一个工具来测量。

如果您只是想查看对主机操作系统的影响,您可以使用诸如 top(在 *nix 机器上)之类的程序,或者 Windows 上的老式任务管理器来查看 CPU Java 进程(通常是 Servlet 容器,例如 Tomcat)的/memory/IO 利用率。

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

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

关于java - 如何查找 Web 应用程序中加载页面的 cpu、io、内存利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2190496/

相关文章:

java - Android 合并调试资源失败

java - 如何使在 eclipse 中运行 JUnit 测试的行为与在命令行上运行 Maven 测试的行为相同?

java - 如何使用 Java 将文件附加到电子邮件?

Java 泛型 void/Void 类型

java - 优化 Tomcat/垃圾收集

java - 有没有办法在 Spring Boot 应用程序中获取加载的属性文件列表?

java - 使用gradle从spring boot 1.5.3构建可执行文件.jar

java - 延迟访问服务器以尽量避开高峰时间

java - 使用 ViewPager 将 RecyclerView 添加到 Tabs fragment

java - 仅加密 SQLite 数据库的特定表/字段