【开篇】SAP ABAP性能优化 - 在哪些方面进行优化?
1.前言
ABAP作为SAP的专用的开发语言,衡量其性能的指标主要有以下两个方面:
- 响应时间:对于某项特定的业务请求,系统在收到请求后需要多久返回结果
- 吞吐量:在给定的时间能,系统能够处理的数据量
2. ABAP语言的运行原理
首先,让我们先了解下SAP系统的基本架构,看一看ABAP程序的运行原理。 SAP自从R/3开始使用三层架构的系统模型,即:
- 表现层(可通过SAPGUI或浏览器等方式,执行具体的SAP应用程序)
- 业务逻辑层(ABAP应用程序运行在SAP NetWeaver的ABAP应用服务器上)
- 数据库访问层(在程序运行过程中,对DB2或HANA等数据库的访问)
在下图的展示中,可以看到,SAP系统也是由最底层文件系统,数据库管理系统,应用服务器、表现层的UI构成。
ABAP语言的执行环境是ABAP应用服务器,其为ABAP程序分配运行所需要内存、工作进程。由此可以看到,ABAP程序的主要用时有两个方面,一是由程序复杂度决定的work process的运行时间,另一部分是在运行过程中,对不同位置的数据访问(增、删、改、查)时间。
3. 在哪些方面进行优化?
当访问不同位置的数据时,所需要消耗的时间单位也是不同的。由于硬盘转速的物理极限和数据库的通信连接等原因,访问数据库硬盘的时间消耗要较访问应用服务器内存中的数据,时间花费的要更多。访问各部分的时间消耗关系是:访问数据库 > 访问数据库缓存 > 共享内存/缓存 > 工作进程。
因此,对于ABAP程序的性能优化,本专栏将从以下角度介绍使用场景和运用过程中的最佳实践。包括:
- 如何合理地访问数据库?
- 如何使用数据库缓存?
- 如何选用内表?
- 如何使用batch job?
- …
- ABAP性能调优工具的使用等
<<<欢迎订阅本专栏并留言分享讨论>>>