1, ST12介绍
ST12性能分析工具的使用分如下三个步骤:
- 设置跟踪参数
- 开始跟踪收集跟踪数据
- 分析跟踪数据
跟踪参数分类:
- 跟踪对象(Trace For)
- 跟踪类型(Type of Trace)
跟踪对象
- ST12可以捕获4种类型的数据 “User/Tasks”, “Work Process”, “Current Mode” 和 “For a Schedule”
- “User/Tasks”可以跟踪指定用户以及tasktype的数据,task type包括Dialog,batch等,输入星号*表示跟踪所有类型的task
- 选中Workprocess可以跟踪服务器的性能数据,如果不指定服务器,则跟踪所有服务器。
- Current Mode 可以用来跟踪TCode或者abap程序
- Schedule可以跟踪后台JOB,通过指定Job名字,用户名,程序名,变式名
跟踪类型(Type of Trace)
ST12初始化时,可以设置成跟踪ABAP 跟踪或性能跟踪。通过设定 Size&Duration参数为MAX来避免ST12超过最大跟踪数据或最长跟踪时间
2, 运行ST12并收集跟踪数据
Tcode:PA20, 跟踪用户的infotype 0001的数据,以此为例详细说明ST12的使用方法。
首先,设定跟踪参数,选择‘User/Task',输入备注,用户名,设定task type为*,然后运行ST12
然后,运行tcode:PA20,输入员工号码和info type 0001,点击overview 按钮,如下:
在ST12界面上点击Eend Trace按钮,跳转到跟踪结果界面,点击运行按钮收集跟踪详细结果。如果需要保留跟踪结果,则不勾上红框内的单选框。
3, 分析收集跟踪数据
跟踪结果数据收集完成之后,点击我们关心的评估按钮(ABAP trace,performance Trace,SQL summary,Stat. records),如下:
ABAP Trace:
这是ST12中最常用的一个分析选项。可以得到任何程序/Tcode的自上而下的运行流程和消耗时间。从下图中可以看到pa20运行的abap 语句层次顺序。所以可以定位问题发生的abap语句和位置。
上面的屏幕截图是Per Call View形式的,点击按钮‘Per ModUnit’转换到模块化显示模式,展开可以看到模块内的运行form或SQL语句
光标置于模块单位(Method/Performs)行时,点击“Top Down Call Tree”按钮(下图红框内按钮),能显示模块内abap语句的运行次序,0代表模块本身,1为模块内第一层次,2为第二层次直至第30层,字母用户低层次。
双击任何一行可以跳转到原代码,进而确定影响点。
ST12能捕捉到微小的程序运行流程的详细信息包括loop循环语句的效率,可以用于详细分析。
由于ABAP trace能完整地跟踪程序运行流程,ST12可以用于确定程序用到的用户增强或用户出口
Comparison of ST12 with ST05 trace
ST12 |
ST05 |
Traces only a specific user context or a transaction | Traces every action of a user on a server |
ST12 trace automatically turns off with a transaction | ST05 trace has to be manually turned off |
Stores the trace into database and is permanent | Stores the trace into local files and overwritten regularly |
Provides a Top-Down flow used to find performance hotspot, issues identified by which are usually solved by code changes. | Provides a bottom-up flow which is suitable for identifying DB bound performance issues, which are usually solved by Performance Tuning. |
Performance Trace
性能分析和ST05相关,下图展示了程序运行过程中的SQL语句的效率
SQL Summary
SQL summary提供了基于数据库表的详细信息,例如运行时间,SQL语句抽取的数据数量,运行时间,服务器信息等等。双击任意一行记录能跳转到数据库表涉及到程序列表界面。
Statistical Records
statistical records用于收集特定Tcode运行过程中时间相关信息。
以上。
发表评论