云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业网站_恢复服务器数据_新注册优惠

小七 141 0

在这篇博文中,我们将介绍"profiledataanalyzer",这是一个新的用于分析性能跟踪的独立工具,包括它背后的思想和分析步骤。profile data analyzer支持ABAP性能跟踪和SAP JVM Profiler性能跟踪(*.prf格式),如KBA 2879724中所述,但我们将在本文中重点分析ABAP性能跟踪。

profile data analyzer的灵感来自Brendan Gregg的FlameGraphs。它提供了额外的图形和交互功能比较SAT/SE30/ST12的视图,以便于性能分析,例如,在以下场景中。

获得跟踪程序的总体情况,包括程序逻辑和时间花费。找出大而复杂的记录道中的瓶颈,特别是在平均花费时间在不同方法上时。比较图形视图中的两条记录道。有时,比较两种跟踪是很有帮助的,例如,大数据与应用,了解为什么在升级支持包后会出现性能降级,我们将演示如何使用profile data analyzer来了解性能瓶颈和优化的程序逻辑。

要开始分析,云购全球,我们只需要2个先决条件

根据KBA2879724从这里下载profile data analyzer。profile数据分析器是一个独立的jar文件,需要java8或更高版本。它可以通过双击或命令java-jar在Windows、Linux和macOS环境下运行ProfileDataAnalyzer.jar文件.收集KBA 2881237之后的性能跟踪。配置文件数据分析器需要没有聚合的ABAP跟踪或按调用堆栈聚合的ABAP跟踪,该堆栈的信息多于按调用位置聚合的信息。文件名为"AT*"。我们可以从对话框实例数据文件夹()上的操作系统级别获取此文件/usr/sap///data)或由SE30遵循KBA 2881237.

本博客将使用两个SM21跟踪作为示例来展示profile data analyzer的用法。这两个SM21跟踪之间的主要区别是数据量。我们将展示如何使用配置文件数据分析器来理解SM21的逻辑和这两条记录道的性能,包括它们的区别。

简短的SM21记录道。更改SM21中的选择标准(例如时间),以确保屏幕上不显示日志条目。长SM21跟踪。更改SM21中的选择条件(例如时间)以确保屏幕上显示许多日志条目。

现在我们可以将收集的ABAP跟踪拖放到配置文件数据分析器中,然后单击"分析报告"按钮以显示报告和火焰图。

这是默认设置的火焰图对于短SM21跟踪(提示:请在浏览器中缩放此页以查看火焰图的详细信息)。在flame图中

每一列都是一个调用堆栈。主程序位于底部(如下图中的事务SM21)。较低的方法调用较高的方法。图中的宽度与调用堆栈使用的实际时间成比例。我们可以通过单击调用堆栈上的方法来放大或缩小图形视图。特殊方法类型有专用的颜色。例如,DB方法是蓝色的。我们可以用正则表达式"search"按钮搜索关键字。搜索结果将以紫色突出显示。调用堆栈的调用计数在调用堆栈顶部显示为"Calls:XXX"。

查看上面的火焰图中的短SM21跟踪,以下方法通过"MAIN | RSLG|u DISPLAY | GET|u INSTANCE_by_FILTER"

PERFORM MAIN以紫色突出显示调用函数RSLG\u显示氯_SYSLOG.GET\实例\按\筛选

在上图中,大数据分析培训课程,我们可以发现

表单MAIN是程序RSYSLOG/TRANSACTION SM21的主要部分。在formmain中,重要的调用是函数模块"RSLG\u DISPLAY"和类方法"CL"_SYSLOG.GET\实例\按\筛选".因为"RSLG\u DISPLAY"比"GET\u INSTANCE\u BY\u FILTER"的执行时间长,所以它在flame图中更宽更长。将鼠标移动到某个方法,工具提示将显示详细的时间信息。

我们可以点击"CL"_SYSLOG.GET\实例\按\筛选关注"通过过滤器获取实例"的细节并隐藏其他部分。这里是"通过过滤器获取实例"的焦点视图。在这个集中的视图中,我们可以发现

"GET\u INSTANCE\u BY\u FILTER"调用了其他的方法和功能模块,例如"READ\u ENTRIES"和"RSLG\u READ\u SLG",用于读取系统日志条目。

本例中另一个有趣的部分是,在"RSLG\u DISPLAY"和"CALL\u SCREEN"之上还有一些"Not Showed methods"。它们是一些经过筛选的系统程序。筛选规则与默认SAT设置相同。我们可以通过勾选"显示技术细节"选项来显示这些过滤的方法。

勾选"显示技术细节"选项,再点击"分析报告"按钮,我们将得到以下未过滤的图形。在这个图中,我们可以发现

"RSLG\u DISPLAY"将调用一些屏幕功能模块,最后使用RFC"OLE\u FLUSH\u call"与SAPGUI进行通信。通常"未显示方法"的百分比较低,因为大多数情况下,企业信息化管理软件,应用程序使用的时间较长。我们建议首先使用默认的profile data analyzer选项,当"Not Show methods"的时间很长时才选中"Show technical details"选项。这是长SM21轨迹的火焰图。在这个图中,我们可以发现

"GET\u INSTANCE\u BY\u FILTER"比短SM21跟踪长,因为我们在长SM21跟踪中选择了更多的数据。

看上面的图,它与短SM21跟踪的确切区别也不太清楚。为了改进它,我们开发了diff函数。我们可以通过以下步骤比较两条SM21记录道。