彩票走势图

Java软件性能测试工具,图文介绍7大关键测试步骤

翻译|使用教程|编辑:status|2020-10-22 11:06:12.993|阅读 401 次

概述:JProfiler 直观的UI界面、以便捷的可视化配置操作可帮助您解决性能瓶颈、确定内存泄漏并了解线程问题。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

在 macOS 和 Linux上添加了无安全点偏差的异步采样模式。它使用 HotSpot JVM 中的非标准 AsyncGetCallTrace API 在任意时间获取调用堆栈,而不只是在 JVM 视为安全点的某些执行状态获取调用堆栈。此分析模式为高度多线程 CPU 绑定代码生成更准确的 CPU 数据。


唯一可以这样测量的线程状态是"正在运行"。等待、阻塞和净 I/O 线程状态不可用。与其他使用"可运行"线程状态来衡量线程何时有资格在 CPU 上计划的方法呼叫记录类型相反,"正在运行"仅测量线程实际在 CPU 上调度的时间。获取调用堆栈可能会失败,原因有很多,这些原因汇总在"采样未命中"顶级节点中。

异步采样使用预先分配的缓冲区,这些缓冲区可能太小,无法捕获所有调用堆栈。此条件也显示在调用树中,会话设置提供了一种增加相对于默认大小的缓冲区大小的方法。

请注意,Windows 没有信号处理程序,不支持此类数据收集。

已添加在 macOS 和 Linux 上的本机采样。使用上述新的异步采样模式时,可以选择启用本机采样。如果启用本机采样,JProfiler 将解析本机库中的符号,并将本机节点添加到调用树。

在本机调用树节点中,关联的本机库显示在方括号中,后跟函数名称。

在类聚合模式下,本机库分组在一起,而在包聚合级别中,所有本机调用都进行聚合。删除调用树的某些部分时,库也像类一样,因此通过删除所选节点的类(下面显示的此版本中的新功能),整个本机库将从调用树中删除。

 

JProfiler现在可以打开JDK飞行记录器(JFR)快照。JFR 快照通常记录在限制分析代理安装的生产环境中。从此版本开始,您现在可以在分析这些快照时发挥 JProfiler 的全部分析功能库。

视图选择器中的可用视图与常规 JProfiler 会话中的视图不同。JProfiler 可以从 JFR 事件数据构造大量遥测视图,包括堆大小、记录吞吐量、GC 活动、类加载、线程计数和 CPU 负载。

 在内存部分中,将显示堆统计信息和分配记录。如果为 JFR 录制启用了堆统计信息,"活动对象"视图将显示包含大部分堆的类。第一个堆统计信息和最后一个堆统计信息之间的差值显示在"差异"列中。

JFR 快照中的分配记录中的数据映射到"记录对象","分配呼叫树"和"分配热点"视图。

在 CPU 部分中,"呼叫树","热点"和"呼叫图"视图可用。JFR 记录根据缓冲区大小截断跟踪,这些跟踪包含在单独的顶级节点中。

JFR 仅记录可运行的线程和 Java 代码。由于 JFR 采样的性质,无法计算时间,并且仅显示事件计数。"等待","阻止"和"Socket 和文件 I/O"线程状态显示时间,因为它们是根据时事事件组装的。

JFR 快照包含 JProfiler 用于生成线程历史记录视图的线程数据。包含的线程转储也显示在 JProfiler 中。

JFR 快照中的"等待""阻止"和"停车"事件显示在"监视器和锁定"部分的"监视器历史记录"视图中。这些事件是 CPU 视图中的"等待"和"已阻止"线程状态的源。"监视使用情况统计信息"视图也可用。

最后,从 JFR 事件构建了许多探测器:"类","文件","套接字"和"异常"。这些视图显示数据取决于是否记录了相应的 JFR 事件。"文件"和"套接字"探测器也是 CPU 视图中"套接和文件 IO"线程状态的源。

 

新的异常值检测视图显示方法的调用时间随其平均值的变化。当用于方法呼叫记录和 CPU 录制处于活动状态时,此视图的数据始终可用。它取代了"方法统计"视图,该视图具有单独的记录,增加了大量开销。

异常值系数量化最大调用时间与平均值的偏差。具有高异常值系数的方法是检查的候选方法,JProfiler 中的异常方法运行记录功能在调用树中分别显示其最慢的调用。此外,对于与特殊方法运行记录相同的选定线程状态,执行异常值检测的时间测量。

从异常值检测视图中,您可以轻松地在上下文菜单中选择一种方法作为特殊方法。

最大时间计数和调用计数的阈值限制显示的数据量,可以在视图设置中进行调整。

 

跟踪异步调用现在适用于采样,包括新的异步采样模式。以前,您必须使用检测分析才能使用"内联异步执行"调用树分析。必须更改分析模式以获得内联调用堆栈被证明是有限的,尤其是对于科特林皮质,其中内联是特别重要的。

 

在调用树中,您现在可以显示所有为所选调用堆栈做出贡献的线程。查看为所有线程制定的调用树时,了解哪些线程负责向所选节点添加时间可能很有趣。上下文菜单允许您访问此操作。

从线程列表中,您可以直接切换到调用树中的选定线程。

 

已实现整个类或包的调用树删除。您可以通过选择节点并选择"删除选定的子树"操作来删除调用树的某些部分。

除了删除所选方法外,您现在还可以选择删除所选类或所选包的所有调用。

在某些情况下,您可能希望保留所选方法,但只需将其自时设置为零。例如,Thread.run顶级方法可能就是这种情况,其中大多数自时位于非分析类中,您希望分析代码的百分比加起来高达 100%。

 

遥测绘图已过改进。缩小遥测时,它们现在显示抖动图形的最小和最大包络,而不是每个像素的插值平均值。此外,所有缩放级别都保留峰值。

此外,您现在可以使用 CTRL + 滚轮或在 macOS 上捏合手势进行放大和缩小,当缩放级别更改时,遥测将保留当前光标位置。


标签:性能测试软件测试

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP