ABAP管理和性能分析中用到的重要分析工具概述

原创 2016年05月31日 18:54:11

概括的总结一下BC490的第一章内容:Architecture and Technical OverviewABAP管理和性能分析中用到的重要分析工具),细节参加BC490教材。


由上图可知,优化程序性能时,关键是优化数据库访问。当然程序逻辑(缓存、内表etc)也很重要。

 

下面将从两个方面介绍常用的性能检测方法

  • The SAP system
  • The Database system

The SAP system


SAP系统的三层架构中,PresentationApplication层都可以扩展。而Database层作为centraldata repository是不可扩展的。

ABAP性能分析的两个重要方向:降低程序在应用服务器上的运行时间、降低数据库负载。后者较为重要。

数据在展示层和应用层之间的传输,按照2~10kb的模块进行。在应用层和数据库中之间传输是严格的32kb的大小。

当然还有其他附加的层(如ITSICM等),但是与ABAP开发不相关,不做讨论。

InstanceProcesses分析

主要使用SM50SM51两个T-code


如果想查看系统使用何种数据库、操作系统、系统版本等信息,可以查看Status窗口。

数据访问时间的数量级


上图说明了数据访问时间的数量级区别。但也同时要考虑硬件性能配置。

在一些较小的SAP系统中,一个sapWP大概会申请5-10MB的内存;12MBTable buffer;数据库中的数据缓存空间大概需要几个G级别;现代大型数据库安装时大概需要T级别的存储空间。可以使用Quicksizer工具,根据用户需求定制硬件需求。

对话框处理过程


1.Send the user request to the AS

2.Place the user request in the dispatcher queue if all work processes areoccupied

3.Assign the user request to a work process

4.Roll the user context into the work process

5.Attempt to satisfy the SQL statement from the AS buffers

6.Send the SQL statement to the database server if the result was not found in the AS buffer

7.Attempt to satisfy the SQL statement from the database buffer

8.Load the missing data blocks from the disk into the DB buffer

9.Displace blocks from the DB buffer if necessary

10.Send the results to the AS

11.Change table buffer due to DB changes

12.Send the results of the request to the presentation server

13.Roll user context out of the work process

平均响应时间


上图定义了响应时间的各部分组成。也叫平均响应时间。

平均响应时间应该在1S以内。定义为:从接收到用户请求开始,到应用服务器发送响应,这之间的时间间隔。不包括网络通信的时间。

This time, also called the AVERAGE RESPONSE TIME, is composed of thefollowing:

WAITTIME

Time spent by the request in the dispatcher queue

ROLL-IN TIME

Time required to copy the user context into the work process

LOAD TIME

The time required to load and generate program objects (coding,screens, and so on).

PROCESSING TIME

This time results from the calculation. The processing time iscalculated as the response time minus the following times: wait time, roll-intime, load time, database time, enqueue time, roll-wait time

DATABASETIME

Time between sending an SQL statement and receipt of the results(includes network transmission time)

ROLL-OUT TIME

Time required to roll the user context into the roll buffer

CPU TIME

Time spent by the CPU in processing the transaction step (asmeasured by the operating system; not an additive component of the responsetime).

 

STAD - Transaction Step Analysis

DialogTransactionstep都记录在了系统了(静态的记录),可以只用STAD命令查看。

在分析时,注意限定查询条件,以满足特定的查询需求。


 


双击上图中相应的记录,可查看如下图所示的详细内容。同时还可以查看DB timeLoadtime CPU time等。也可以分析DBRFC访问。


ST03 - Workload Analysis

为了查看系统中最大负载的程序,可以使用负载分析,详细的分析性能问题。


详情界面


注意两个比率:CPUDB应该不大于相应时间的40%

 

The Database System

可以通过以下几个方便监视数据库的性能。

by monitoring thephysical I/O(read and writeaccess to database files), memoryconsumption, CPU consumption,and networkcommunication.

The Database Performance Monitor-ST04

注意:不同的数据库,ST04的初始界面可能会不一样。下图是Oracle的分析界面。


Theinitial screen of the database monitor shows an overview of importantparameters:

•Reads:

Datablocks logically read from the database buffer

•Physical reads:

Datablocks read physically from memory systems (hard disks)

•Data buffer size:

Sizeof the data buffer of the database

•User calls:

Numberof SQL statements sent to the database

•Reads / User calls:

Readaccesses to the buffer per SQL statement

特别注意,当Reads / User calls是一个重要的指标,进行SQLcache (cursor cache) 分析。当大于20:1时,则亟待分析。注意系统需要运行较长时间后(几天),才进行性能分析。

 

Database Cursor Cache(以Y55MaxDB数据库为例)

示例程序


查找结果(注意过滤条件)


更多分析,日后根据需求进行分析。
注意区分各种类型的语句。


Database Monitor DB02


 


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

SQL语句解析(ST12和DB02的配合使用)

我们可以通过DB02的工具进行SQL explain:
  • zzj_rainbow
  • zzj_rainbow
  • 2014年10月20日 15:00
  • 1234

ABAP_事务码

BC-ABA 基本服务 BC-ABA ABAP 运行时环境  ABAP Runtime Environment ABAP 运行时环境 事务码  描述  SM01 Lock transact...
  • zhongguomao
  • zhongguomao
  • 2014年03月20日 08:51
  • 3577

sap abap 性能优化(二)

四、性能分析 SQL 性能追踪(ST05) 1、SAP R/3 提供标准ABAP SQL 跟踪工具。使用T-Code:ST05 可以进入追踪设定画面。 2、Trace on with Filte...
  • wu21211721
  • wu21211721
  • 2016年07月27日 17:30
  • 543

SAP 响应时间 性能察看

ST06--检查一下操作系统的性能,看看是否存在CPU、内存、磁盘IO瓶颈。 在AIX操作系统层面上用topas连续监控一下,看看是不是某个进程耗费的CPU、内存资源比较多(某些程序写的不好),还...
  • edifierliu
  • edifierliu
  • 2010年10月13日 08:37
  • 5178

ST04最新发现(不断更新)

时间:今天上午背景:在SAP做了一个接口,用于成本预算,由于业务需要把2009年的数据删除,然后通过程序去删除数据时一直处于等待状态,运行了N久了也没反应,带来的只能是TIMEOUT的后果了,反复操作...
  • F122300349
  • F122300349
  • 2010年04月22日 17:00
  • 1675

内存管理(SAP和ABAP内存)缓存设定以及程序memory管理等

待定
  • zzj_rainbow
  • zzj_rainbow
  • 2013年11月25日 19:05
  • 3404

在企业运营管理中数据分析的重要作用和意义

在公司的众多运营活动中,每天都会产生很多的数据,这些看似毫无有关的数据,通常可以具有深层次的紧密关系,关于公司的运营和发展策略的决议计划都会有十分重要的作用和意义。随着大数据时代的来临,数据剖析已经成...
  • baidu_36202354
  • baidu_36202354
  • 2016年09月22日 12:20
  • 1438

软件工程 数据流图(DFD)变换型与事务型的分析

在系统分析阶段,我们采用结构化分析方法得到了由数据流图、数据字典和加工说明等组成的系统的逻辑模型。现在,可根据一些规则从数据流图导出系统初始的模块结构图。 管理信息系统的数据流图通常也可分为两种...
  • XiongCanDeJiTui
  • XiongCanDeJiTui
  • 2016年08月18日 11:33
  • 5488

运维工作常用的性能分析工具介绍

在运维工作中常用到的性能分析工具包括:vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方开发工具,如:dstat、collectl及淘宝的开源监控项目t...
  • langkeziju
  • langkeziju
  • 2015年07月31日 11:16
  • 1741

概述 RequireJS是一个工具库,主要用于客户端的模块管理。它可以让客户端的代码分成一个个模块,实现异步或动态加载,从而提高代码的性能和可维护性。它的模块管理遵守AMD规范(Asynchronou

概述 RequireJS是一个工具库,主要用于客户端的模块管理。它可以让客户端的代码分成一个个模块,实现异步或动态加载,从而提高代码的性能和可维护性。它的模块管理遵守AMD规范(Asynch...
  • langwuzhe
  • langwuzhe
  • 2016年07月18日 15:53
  • 1020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ABAP管理和性能分析中用到的重要分析工具概述
举报原因:
原因补充:

(最多只允许输入30个字)