前端Query运行时间数据--2

为啥要弄这个

这个query运行时间统计数据,是用来干嘛的呢?
简单点说,就是来看特定操作执行了多少时间。在哪里的时间呢?
是在front end和analytic engine这两块的时间。
系统会记录执行期间影响性能的部分就是statistics events。统计事件。

Front end and OLAP/ Data Manager

事件统计主要也就是这两块。

1. 前端和分析引擎的计算层

这部分就是前端和OLAP包括BI集成计划。有一大部分events按序执行。
比如,前端: 展示网页项,构建整个网页,数据提供者和数据范围提供命令处理
OLAP:query生成,缓存条目创建,数量转换
BI集成计划:增量记录写入,数据保存,计划功能执行

2. 分析引擎的聚集层

这部分主要就是数据管理(聚集层)这部分包括很少的并行事件。
比如 多信息提供者,聚集分化,数据库访问时间(尤其访问E和F表),RFC时间等。
这些统计数据存储在多个表里。

怎么统计

这些统计信息,我们可以确定针对的对象以及何种统计信息是需要的,比如说query,workbook,web 模板。到底要不要全统计,在那个粒度上统计。并且要知道有一个信息提供者上的统计开关的。
开了开关之后,那一个运行时的query会执行哪些运行时统计呢?
在这里插入图片描述
从这个图片就完全能看出来了。
主要是前端用户会话,执行的步骤,操作类型。以及数据管理部分的操作。
整个会话SESSIONUID从用户的操作开始到用户退出结束。这里可以有很多用户的操作,比如说导航,查询。这里的每个操作就是一个STEPUID,在一个步骤下的事件会被分配到一个相关的上下文下:比如Front End,OLAP,Planning. 这个上下文呢,就是HANDLETYPE。如果事件有相同的处理类型,在一个步骤里里对多个对象进行操作,那系统会通过不同的HANDLE ID进行区分。
比如说一个web template里有两query。当我们在这个步骤里进行读取事件,这个事件都是属于处理类型OLAP。但是由于有两个query,那么这个HANDLEID就不一样了,第一个是ID1,第二个是ID2.

注意,这个session下面会有好多个stepID,stepID下面会有很多个HANDLETYPE,不同HANDLETYPE的event 会被总计时间到stepID下面。也就是说这个HANDLETYPE处理类型呢,就是把StepID下面的event给分个类,比如说FrontEnd拉,OLAP拉
STEPTYPE如下:
在这里插入图片描述
HANDLETYPE如下图。OLAP类型是指query.W3_I是web item, W3_T 是Web template。
在这里插入图片描述
Event就很多了。如果一个event在同一个会话中,一个步骤中,一个处理类型中被执行了多次,那么系统会累加event的时间。
event OLAP: read data (3100)是指一个数据请求传送到data manager, 系统接着会记录event 9000。 对于event3100,系统只会记录data manager被调用和结束调用的时间。
在这里插入图片描述
在这里插入图片描述
以上我们可以得出,在Front End和Calculation层,一个步骤内的所有累计的event的时间,一般是要少于或者等于一个step的时间。
再来回顾下这个图。
在这里插入图片描述
那么在aggregation 层呢?就是在底下的Data Manager部分,event和process都是并行执行的了。当执行query的请求被从OLAP层传递到Data manager层之后,系统会记录event 9000,这个也是HANDLE TYPE OLAP。
于是,在DataManager的统计数据中,会有单独的event事件和数据的记录。那么前端Front end和Calculation层以及aggregation层的数据最终会通过这两个不同的表里的键STEPUID和HANDLE(HANDLE TYPE和HANDLE ID)来连接。

如果看到这里还是一头雾水。那接下来看看这两个系统自带视图:
在这里插入图片描述
在这里插入图片描述
从这里可以清晰的看出,你需要监控的前端query运行时间呢,这两个视图就可以提供了。其中DM这个视图里面没有event ID 的。event的时间也可以说都在OLAP这张视图里。

对于事件event的描述呢,在表RSDDSTATEVENTS里。
一般event记录的是时间,但是也有例外,比如2525是记录读取访问OLAP缓存的次数。用来查看query是否使用OLAP缓存,及使用的次数。
SM30下可以做更改,但是不建议。
在这里插入图片描述

如何分析统计数据

之前我们看到了两个预定义的视图。
RSDDSTAT_OLAP
RSDDSTAT_DM
用这两个比用它分散的表容易多了。
OLAP这张就是前端和计算层的event,下图是每个字段的含义。
在这里插入图片描述
DM这张就是聚集层的event数据:
在这里插入图片描述

如果你不是对很多query做统计,那么也可以RSRT单独分析。
在这里插入图片描述
执行并调试
在这里插入图片描述
选中统计数据,query运行返回数据后,点击回退。
在这里插入图片描述
最后看到所有时间。在这里插入图片描述

打开统计开关

最后来看下,系统统计这些数据时,统计的时哪些类型的BI对象呢?
我们去RSDDSTAT看看:
在这里插入图片描述
这里能看到类型有query,infoprovider,web template,workbook.

这里需要考虑到前端的workbook和后端的query及info provider其实是一条完整的统计链。
因为如果你只设定workbook统计,那就会只有front end的数据,如果只设定query,那就会只有datamanager和分析引擎的时间。所以query以及上下游的workbook及info provider都要设定统计分析才可以。
还有一个问题是,系统其实会大量统计详细运行数据,一个导航步骤可能会有几十条记录。如果你不需要一些对象的性能分析,就不要设定去统计这些对象的运行时间。

因为这些占空间。我们知道最终统计数据会放到好多张表里。

1. 更改统计属性

从上面的tab页能看到。
如果你要改,首先到不同的tab页,选择要统计的对象,setting下面设定统计开关是否打开。默认是D。
对于query还可以选择detail level.
都改完了之后选择replace value就可以了。然后保存。

1. query的统计属性

一般情况下新对象都有默认的统计属性。就是D。
这个在Extra->Change Default里面可以改。

在这里插入图片描述
在这里插入图片描述

有个例外就是对query.如果新query默认D。系统会根据query的info provider的统计属性来决定query的。如果info provider也有D。那系统就用D。如果in佛provider 不是D,就会用info provider的ON和OLAP 的detail level. 1 或者2 的。
默认D就是不统计。

在这里插入图片描述

对于统计的详细层级。
0 是指指记录OLAP event 99999,是指OLAP处理的所有时间,不去统计聚集层的数据和聚集信息。
1 是指所有OLAP 事件,但是不包含一些聚集成的数据。系统只读取data manager的event 9000 和此聚集信息。
在这里插入图片描述
在这里插入图片描述
2 呢就是前端以及计算层和聚集层聚集信息。
9 就是不统计。

下面看看event都是啥描述:
在这里插入图片描述
cache time:
在这里插入图片描述
OLAP time:
在这里插入图片描述
这里解释是3010和3100都运行,那就等于是读了一次query,所以就是这个query counter就是1.
也就是说可以理解成,query被执行了1次。那么可以从这点出发,统计出前10个最常用的query.关键字段:0TCTQUCOUN

Authorization time: 在这里插入图片描述
input help:
在这里插入图片描述
具体在SAP文档可以看到:
https://help.sap.com/viewer/93bea049296a41508d972e117149f784/7.5.11/en-US/45f0488a1aa03115e10000000a1553f7.html

猜你喜欢

转载自blog.csdn.net/weixin_45689053/article/details/114270642