如何确定程序工作量的类型?

时间:2018-03-12 16:19:34

标签: performance-testing perf

假设以下场景:开发人员为您提供了他的Java应用程序,并且您想确定应用程序的资源需求:

  • 它消耗了大量CPU吗?
  • 是否分配了大量内存?
  • 是否对磁盘进行了大量读/写操作?
  • 是否消耗网络带宽?

要获得有关应用程序要求的图片,应该寻找哪些指标?可以根据需要多次运行给定的应用程序。

我发现Linux上的perf工具。它可以测量所有内容(cpu周期,缓存未命中,页面错误, 分支未命中,不同的磁盘操作,内存分配......)。

有没有可以应用的方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 通常你应该选择profiling tool YourKitJProfiler,这样你不仅可以测量CPU / RAM /网络/磁盘消耗,还可以检测“重”方法,最大的物体等。

  2. 如果您没有分析器工具,可以使用JConsoleJVisualVM,它提供的功能基本相同,但与特殊分析工具相比,输出将受到限制。

  3. 您可以使用操作系统内置的监控工具,例如Windows Performance Monitornmon for Linux

  4. 最后但并非最不重要的是,您可以考虑sigar这是免费的开源系统信息收集器和监视器。收集和绘制sigar指标的最简单方法是PerfMon