二维码

[性能] ST05追踪数据来源的分析工具使用教程

Twilight发表于 2014-02-17 18:56Timor 最后回复于 2017-08-14 15:06 [复制链接] 5336 2

一、 SQL Trace
通过SQL跟踪,可以具体查询数据来源于哪些数据库表,例如:可以查询某个交易(或几个交易)所涉及的数据库表。
为了减少在最终查询结果的工作量,要在屏幕显示你所要显示的数据的前一步,先进入ST05,点击Activate Trace,然后执行显示数据前的操作,屏幕数据显示之后,回到ST05,点击Deactivate Trace,最后点击Display Trace, 就可以具体查询数据来源于哪些数据库表了!

1、在外网110环境下,进入系统,输入st05,点击 activate trace 选项,开始进入跟踪。如下图所示:
ST05-01.jpg

2、输入交易fnvm,进入合同修改界面:
fnvm.jpg

3、完成交易后,进入st05交易,点击deactivate trace,然后再点击display trace 如下图所示:
ST05-02.jpg
ST05-03.jpg

4、 查询结果说明:
对上图字段说明如下:
Duration :持续时间,单位:毫秒 微秒
Obj. name :表名
Op. :操作类型
Statement :所执行的SQL语句。

二、 Enqueue Trace
通过Enqueue Trace,系统可以记录所有关于一个用户或一组用户的锁与解锁声明。
跟踪记录可以包含如下信息:
  • 锁定对象所涉及的表明
  • 设锁的程序名
  • 锁的类型
  • 锁的所有者
  • 设锁以及解锁的时间

1、在外网110环境下,进入系统,输入st05,选择enqueue Trace

2、后面的操作和SQL Trace操作相同
Enqueue Trace.jpg

3、查询结果说明:
对上图字段说明如下:
Duration :锁操作执行的时间
Obj. name :锁的名称
Op. :锁操作
Recs. :Number of granules in the lock object.
RC :返回的编码,0表示锁操作成功,1表示操作不成功(锁多项应经被锁或部分已被锁)。
Statement :This column lists the granules for the lock request

三、 RFC Trace
使用RFC跟踪,你可以跟踪应用程序所执行的远程调用或SAP系统在调用中所执行,你可以显示和分析跟踪文件中的跟踪记录日志。
跟踪的记录包含一下内容:
  • 哪一个Function Modules 在程序中被调用
  • RFC是否成功执行
  • 远程调用进程所花费的时间
  • RFC的传达标记,client or server。
  • 远程调用的实例。
  • 技术参数
  • 在RFC中发送和接收的位数。

1、在外网110环境下,进入系统,输入st05,选择RFC Trace

2、后面的操作和SQL Trace操作相同
rfc trace.jpg

3、查询结果说明:
对上图字段说明如下:
Duration :远程调用所运行的时间
Obj. name :被远程调用的功能函数实例简称。
Op. :Client 或 Server。
Recs. :RFC跟踪记录的类型,共有五个,分别为:1,2,3,4,5。
RC :返回的是远程调用的日志编码。如果为0,则说明远程调用成功;如果不等于0,则说明远程调用发生错误。
Statement :依次显示:本地实例的名字;远程实例的名字;被调用的Function Module 的名字;发送和接收的位数。

四、 Table Buffer Trace
通过表缓冲区跟踪,可以监控对表缓冲区的访问以及缓冲区的加载和卸载。表缓冲区跟踪可以得到如下信息:
  • Which buffer accesses your statement executes
  • Which buffer operations are used
  • How the buffer is managed

1、在外网110环境下,进入系统,输入st05,选择BUFFER Trace

2、后面的操作和SQL Trace操作相同
TABLE BUFFER TRACE.jpg

3、查询结果说明:
对上图字段说明如下:
Duration :持续时间
Obj. name :表名
Op. :显示执行缓冲区中特定表操作的功能。
Recs.:读取的记录数。
RC :0 表示功能执行正确;64表示没有发现记录,即记录数为零;256表示表缓冲区可访问(缓冲区类型为R、P), 缓冲区类型 S, C, O, 和 M表示一个对象已被插入;1024表示记录不在缓冲区,要加载缓冲区。
Statement :依次显示为:缓冲区类型;KEY长度;KEY的值。

Database Operations Measured by SQL Trace

The SQL Trace analysis helps in measuring the execution time of the following data base operations that are performed when executing an SQL statement.
  • DECLARE: This operation declares a new cursor and assigns the SQL statement to that cursor created.
  • PREPARE: This operation converts the SQL statement into native SQL and frames out an execution plan for that statement.        
  • OPEN: This operation opens the declared cursor and passes the parameters for database access.
  • FETCH: This operation passes one or more data records fetched to the database interface of the R/3 system.
  • REOPEN: Once a new select statement is brought in then this operation opens the cursor previously declared for previous select statement and perForms new parameter passing to the database.
  • EXEC: Passes the parameters for the database statement, and executes the statements that change data in the database (such as UPDATE, DELETE, or INSERT).
回复

使用道具 举报

qshiou
这个太棒了,一直没弄懂st05
回复 支持 反对

使用道具 举报

Timor
学习SQL跟踪
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表