SAP内存配置优化方法

合集下载

SAPABAP性能优化

SAPABAP性能优化

SAPABAP性能优化SAPABAP(高级商务应用编程语言)是一种面向SAP应用程序开发的编程语言。

在开发SAPABAP应用程序时,性能优化是非常重要的,可以提高应用程序的响应速度和效率。

以下是一些优化SAPABAP性能的技术和实践。

1.数据库访问优化:在数据库访问方面,以下几种方法可以提高性能:-尽量避免对数据库频繁的读写操作,尽量减少数据库访问的次数。

-使用WHERE语句来限制查询结果的数量,尽量避免返回大量数据。

-使用索引来加速数据库查询操作。

对于频繁访问的字段,可以创建相应的索引。

-避免在循环中进行数据库查询操作,可以将多次查询合并为一次查询,提高效率。

2.代码优化:在编写ABAP代码时,以下几种方法可以提高性能:-避免使用SELECT*语句,尽量只选择需要的字段。

-避免在循环中进行复杂的计算操作,可以将计算提取到循环之外,减少计算次数。

-避免频繁使用长字段,例如TEXT字段,可以将其存储在辅助表中,减少数据库访问次数。

-使用内表来处理数据,避免频繁的数据库访问。

3.内存优化:在使用内存方面,以下几种方法可以提高性能:-尽量减少内存的使用,避免无用的变量和数据结构占用过多内存。

-对于大量数据的处理,可以使用ITAB或HASHEDTABLE来提高效率,尽量避免使用SORTEDTABLE。

-注意内存泄漏问题,及时释放不再使用的内存空间。

4.并发处理优化:在处理并发操作时,以下几种方法可以提高性能:-使用合适的锁策略,避免死锁和长时间的等待。

-尽量避免对同一个资源进行频繁的读写操作,可以考虑其他方法来减少并发冲突。

-使用事务控制来保证数据的一致性和完整性。

-如果可能,可以将并发操作分解成多个较小的操作,减少并发冲突的可能性。

5.缓存优化:在使用缓存方面,以下几种方法可以提高性能:- 使用合适的缓存技术,例如SAP的共享内存(Shared Memory)和缓冲区(Buffers)。

-对于频繁使用的数据,可以将其缓存在共享内存中,提高访问速度。

SAP性能优化的培训V2

SAP性能优化的培训V2

© SPRO 2018/ Page 10
SAP性能监控工具
Workload Monitor
ST03 or ST03N
Work Process Overview
Transaction SM50 / SM66
Database
Setup
Monitor
Transaction ST04
Buffers
Transaction ST02
Extended Memory该行的值应该足够大。值e应该小于In memory的值,如果二者 相等就需要增加扩展内存的容量
SAP内存区域
内存区域 1 2 3 4 5 6 7 8 9
© SPRO 2018/ Page 21
作用 SAP Buffer (Program, Screen, Data Dictionary), Extended Memory, Roll Buffer, Paging Buffer Local Roll, Local Page, Heap Memory 主要存储user context,比如程序指针,set/get parameters,权限,内表,报表 主要存储程序相关数据。比方说 extract,Import and Export,call transction之类 对应Roll area,roll-in过程表示从roll buffer中 copy user context到rollArea roll 相反
© SPRO 2018/ Page 13
监控工具--工作进程监控 SM50
© SPRO 2018/ Page 14
监控工具--工作进程监控 SM66
© SPRO 2018/ Page 15
监控工具—数据库监控 ST04

SAP_性能调优V1.0

SAP_性能调优V1.0

SAP_性能调优V1.0本资料仅供内部使用!文档名称:SAP开发技术指南文档秘级:内部使用文档版本:1.0最后修订日期:2012-02-11[SAP开发技术指南-性能调优]2012年02月06日本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属所有,受到有关产权及版权法保护。

任何个人、机构未经的书面授权许可,不得以任何方式复制或引用本文件的任何片段修改记录目录1引言 (4)1.1参考资料 (4)1.2定义 (4)1.3文档结构 (4)2性能分析工具ST12 (5)2.1开始T RACE前的准备工作 (5)2.1.1Internal tables (5)2.1.2Options (6)2.2性能分析模式讲解 (6)2.2.1模式User (6)2.2.2模式Task&HTTP (8)2.2.3模式Workprocess (9)2.2.4模式Current mode (11)2.3T RACE分析 (12)3案例 (14)3.1T RACE (15)3.2T RACE结果分析 (15)3.3优化建议 (16)4补充 (17)4.1SCI可以进行静态的性能检测 (17)4.2ST05SQL检测 (17)4.3SE30性能分析 (18)1 引言为了验证软件系统是否能够达到用户提出的性能指标,确保实际使用中的稳定性,在软件开发周期中,都会进行性能测试,测试的结果不能达标后,需要进行性能调优,一般情况下,可以从两方面进行调优:1,硬件配置方面;2,软件自身优化,此文主要从程序角度分析。

SAP针对程序提供了静态和动态的分析工具,静态主要是通过语法检查来分析,tcode:SCI;动态为ST05,SE30,ST12,因ST12是ST05和SE30的结合体,此文将重点讲解ST12,它是将程序的执行过程记录(包括顺序,花费时间)下,从而可以查看哪些程序点消耗时间过长(后文将统称为:Trace),然后进一步分析优化。

SAP系统配置参数详解

SAP系统配置参数详解

SAP系统配置参数详解SAP系统配置参数详解1.查看所有的参数及当前设定,可使⽤T-CODE SA38 执⾏程序 RSPARAMT-CODE sa38SAP 系统参数设置设置SAPGUI⾃动LogOut功能当客户端长时间没有使⽤时,为了不占⽤SAP服务器的资源,我们可以设置当客户端在⼀段时间没有进⾏操作时⾃动退出SAP系统。

设置步骤如下:⽤Tcode rz10打开参数配置窗⼝,选择你当前的实例参数⽂件,再选扩展编辑,按修改按钮进⼊扩展参数编辑窗⼝中。

按参数创建按钮,创建⼀个名为“rdisp/gui_auto_logout”的参数,参数值输⼊“800”,代表如果客户10分种(600秒)没有进⾏操作,则会⾃动退出SAP 系统。

按退出保存设置。

在rz10窗⼝按保存把参数传送到系统的参数⽂件中。

重启SAP实例,使配置参数⽣效。

我们还可⽤rz11来设置当前正在运⾏的实例的⼀些参数,但⽤这种⽅法设置的参数只会影响当前运⾏的实例,⼀旦重启实例,参数就会失效。

path: /usr/sap/PRD/SYS/profileprofile: PRD_DVEBMGS00_sapappT-CODE:RZ10进⾏SAP系统参数的设置,设置后需激活参数并重启SAP实例,配置参数才会⽣效login/system_client 登录时默认的Client号login/password_expiration_time 密码有效期login/fails_to_user_lock 密码输错多少次后锁定login/failed_user_auto_unlock ⽤户失效后多长时间解锁rdisp/mshost 状态栏中显⽰的系统名称rdisp/rfc_use_quotas 是否激活配额资源分配,0是关闭,1是启⽤.以下相关限制必须这个为1时才⽣效.rdisp/gui_auto_logout 表⽰如果客户在指定时间内没有进⾏任何操作,则会⾃动退出SAP系统。

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

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

内存管理(SAP和ABAP内存)缓存设定以及程序memory管理等内存有两种,一种是SAP内存,一种是ABAP内存:(这两种内存都是针对同一个用户,如果要针对不用用户就要使用共享object,请参考后面内容)他们两者的关系如下图:还有一个概念需要理解的:用户登陆后,最多一个系统可以开6个窗口,这在SAP中称为External Mode。

而同一个窗口中,运行某程序后,可以通过CALLTRANSACTION/SUBMIT或其他代码跳转到其他程序,这个称为Internal Mode。

Internal Mode的调用栈最多为9层。

那么ABAP Memory,它是属于Internal Mode间可以共享的数据,而External Mode间无法共享。

SAP Memory就可以调用不同session的。

1、ABAP内存:通过EXPORT,IMPORT实现。

同一个session(一个窗口)才可以。

如果是不同session,必须在另外一个程序通过submit,call transaction调用,然后才可以实现内存传输。

实现方法如下:例子. 创建程序A,输入:DATA matnr TYPE matnr.IMPORT matnr FROM MEMORY ID 'YTEST_MATNR'.WRITE matnr.创建程序B,输入:DATA matnr TYPE matnr.matnr = '000000000000001234'.EXPORT matnr TO MEMORY ID 'YTEST_MATNR'.SUBMIT y_program_a. '调用程序A直接运行B,发现程序A从ABAP Memory读到了值并输出到LIST.说明:(1)调试运行B到EXPORT语句后面,Goto-System Area-ABAP Memory,可以查看到名为YTEST_MATNR的一片内存。

SAP业务流程性能优化(SAP BPPO) BPPO_Technical_Brief_CN

SAP业务流程性能优化(SAP BPPO) BPPO_Technical_Brief_CN
SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
服务流程
1 day
SAP 业务流程性能优化
3-5 days
1 day
+ 2 weeks
远程分析
EarlyWatch, SMA or GoingLive
analysis session
检查工具的安装情 况
系统性能得到增强,所有核心业务的性能会让您感到满意 顺利地使用所有的核心业务流程 可以在有效的时间窗口中处理所有重要任务 根据时间和硬件条件,更加平均地分布系统负载 客户自己可以顺利地分析和优化性能问题
SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
目录
服务介绍
目标 价值提议 服务流程
记录您的核心业务流程
核心业务流程的定义 怎样来记录核心业务流程
重要流程的分析
对于系统性能优化的建议
最终报告
更多信息
SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
怎样对系统进行优化
有以下几种方法对系统性能进行优化
业务流程是一系列创造物品及服务的活动,对公司的业绩 有很大的影响
一个业务流程包括在不同的业务范围(销售,生产,采 购…)内的很多的业务步骤(创建销售订单,创建运输订 单,创建发票…)
核心业务流程
核心业务流程是对公司业绩(收入来源,客户满意程度, 满足法律要求,员工满意程度…)极其重要的业务流程
优化区域
以下的区域可以进行优化
使用并行处理 避免数据库死锁 避免SAP enqueues的冲突 平均分布每日的工作负荷 根据资源平均分布SAP系统负载 分离数据库服务器和SAP主要实例 优化客户编码 优化应用功能 扩充硬件 …

SAPR3性能优化指南

SAPR3性能优化指南

SAPR3性能优化指南1998 年 11 月发行读者本文档所提供的信息能够帮助 SAP R/3 数据库管理员懂得Microsoft® SQL Server™ 7.0 的各个方面。

这些方面能够通过优化,从而在与 SAP R/3 环境有关的特有数据库工作负荷条件下提供最佳性能。

尽管本文档是为 SAP R/3 站点量身定制的,但是一定要注意本文档中描述的 SQL Server 功能与优化技巧不仅仅适用于 SAP R/3。

大型到超大型数据库 (VLDB) 需要支持大量用户连接与大的工作负荷,工作于这一环境中的数据库管理员将从本文的信息中获益匪浅。

引言本篇有关性能优化的文档将讨论 SAP R/3 环境中的 SQL Server 7.0 最佳配置。

本指南分为四个逻辑部分。

第一部分,讨论与Microsoft Windows NT® Server 有关的配置选项。

第二部分,描述 SAP R/3 环境中 SQL Server 的重要配置选项。

前面这两个部分直截了当,其中还包含了在 SQL Server 的初始配置过程中几分钟就能够完成的一些步骤。

第三部分,讨论 SQL Server 的索引设计,由于它与 SAP R/3 有关。

索引分析往往是一个极其棘手的过程,为使数据库性能最佳需要持续不断地执行索引分析。

Microsoft TechNet 中的“Microsoft SQL Server 7.0 性能优化指南”应该作为本文第三部分的补充读物。

该指南综合讨论硬件 I/O 性能、索引设计与 SQL Server 性能优化工具。

第四部分,讨论 R/3 数据库中的 SQL Server 文件与文件组的最佳应用。

Windows NT 配置Windows NT 页面文件的大小应该至少比服务器上安装的 RAM 大三倍,而且要至少有 10 亿字节(1 GB)。

设置页面文件大小1.在开始菜单上,指向设置,然后单击操纵面板。

Oracle 针对 SAP 优化的解决方案

Oracle 针对 SAP 优化的解决方案

17
版权所有 © 2013,Oracle 和/或其关联公司。保留所有权利。
对 SAP 进行 Oralce SuperCluster 测试
全球工程合作
Oracle — 圣克拉拉(SuperCluster 主要开发中心)
– SuperCluster、Oracle Solaris Cluster、Oracle Database、SAP、
Oracle SuperCluster 概述
10
版权所有 © 2013,Oracle 和/或其关联公司。保留所有权利。
Oracle SuperCluster
Oracle 针对 SAP 优化的解决方案
用于数据库和应用整合的集成系统
集成的高可用性 优化后可运行复杂的多层 SAP 环境
部署 Oracle 优化解决方案的理想平台
SAP HR
开发 供应商
SAP SCM
开发
供应商
SAP SCM
QAS
QAS
SAP HR
客户
客户 生产
生产
8
版权所有 © 2013,Oracle 和/或其关联公司。保留所有权利。
Oracle 针对 SAP 优化的解决方案
针对 SAP 环境进行了整合和简化
最佳性能
Oracle Enterprise Manager
半机架、全机架和多机架配置
11
版权所有 © 2013,Oracle 和/或其关联公司。保留所有权利。
管理框架
统一的应用到磁盘管理
统一管理
同步更新所有组件
遥测技术
12
版权所有 © 2013,Oracle 和/或其关联公司。保留所有权利。
加快和简化 SAP 部署

SAP内存管理

SAP内存管理
cess
– – – – – Dialog:前台操作 Update:异步数据更新 Background:后台任务 Enqueue:用于加锁与同步 Spool:用于打印
汉得信息技术有限公司®
内存使用
• User Context
– user-specific area: user and authorization data – session context: 每个前台用户可以有6个Session
汉得信息技术有限公司®
Private Memory-进程重起
• abap/heaplimit
汉得信息技术有限公司®
Dialog进程如何分配内存
汉得信息技术有限公司®
非Dialog进程如何分配内存
汉得信息技术有限公司®
最佳优化实践-要解决的问题
• Dialog进程应该设多少个? • Extended Memory(em/initial_size_MB)应该 设多大? • Roll Area(ztta/roll_first, ztta/roll_area)应该设 多大? • 数据库应该被分配多大内存?
– 所以,Dialog进程需要在处理每个Transaction Step前后切 换User Context
汉得信息技术有限公司®
内存使用分类
• Roll Area: • Extended Memory • Private Memory
汉得信息技术有限公司®
SAP 内存架构
汉得信息技术有限公司®
Roll Area
• Variables • Internal Tables All user contexts are contained in a common resource (SAP Extended Memory, SAP Roll Area), which enables a fast context change

SAP内存配置优化方法

SAP内存配置优化方法

汉得信息技术有限公司
最佳优化实践-优化方法
数据库访问通常不会成为瓶颈,因此可以少分配内存给它; 而且,当我们合理地设置了操作系统Cache时,与数据库 本身Cache的性能区别不大 ztta/roll_first应该设得小一些,以使得Dialog进程尽量使用 Extended Memory, ztta/roll_area也无需太大,以节省每个 进程所占用的内存 Extended Memory应该设得较大,以避免进入PRIV模式, 但又保证系统使用内存总量(扣除OS Cache)不超过物理 内存太多 Dialog进程数量应经过一个阶段的试用而定,主要是保证 最大队列长度不太大 abap/heaplimit设为一个大小适中的值,可以少占内存 abap/buffersize无需设得过大,只要没有明显受到影响即可
– 所以,Dialog进程需要在处理每个Transaction Step前后切 换User Context
汉得信息技术有限公司
内存使用分类
Roll Area Extended Memory Private Memory
汉得信息技术有限公司
SAP 内存架构
汉得信息技术有限公司
Roll Area
汉得信息技术有限公司
SAP Application Server架构
Dispatcher Work Process
– – – – – Dialog:前台操作 Update:异步数据更新 Background:后台任务 Enqueue:用于加锁与同步 Spool:用于打印
汉得信息技术有限公司
内存使用
汉得信息技术有限公司
Private Memory
进入PRIV模式:直到当前的Transaction结 束 进入PRIV模式的进程的自动终结

SAP ABAP 性能优化

SAP ABAP 性能优化

向内表添加,删除,修改记录 向内表添加,删除,修改记录(2)
SAP AG 2007, Title / First Name Last Name / 13
使用二分查找(Binary 使用二分查找(Binary Search)
SAP AG 2007, Title / First Name Last Name / 14
VS
data:t1 type i, t2 type i, time type i. tables:spfli. get run time field t1. select * from spfli where deptime = '150000'. endselect. get run time field t2. time = time + t2 - t1. write:/ time. clear:t1,t2,time. uline. get run time field t1. select * from spfli where carrid = 'LH' AND CONNID = '0455'. " deptime = '150000'. endselect. get run time field t2. time = time + t2 - t1. write:/ time.
ABAP 性能优化
SAP Labs China Shanghai, July 2010
内表处理 R/3 系统性能分析工具
内表处理
SAP AG 2007, Title / First Name Last Name / 3
性能优化
減少數據庫負載的方法
合理的使用Index 1. 合理的使用Index 2. 減少數據行的傳輸 3. 減少數據列的傳輸 避免不必要的SQL SQL語句 4. 避免不必要的SQL語句 5. 減少資料量的傳輸

[SAPBASIS]SAP内存管理参数详解

[SAPBASIS]SAP内存管理参数详解

Parameter value in Defaultprofilesize display in ST02DescriptionRdisp/Roll_maxfs 125000 not display but should be the sum of(200,000+800,000)/88 kb Maximum size of roll fileRdisp/Roll_SHM 25000 =25000*8=800,0008 kb part of roll file in shared memoryRdisp/PG_maxfs 312500 not display but should be the sumof(1,500,000+1,000,000)/88 kb Maximum size of the SAP paging fileRdisp/PG_SHM 187500=187500*8=150,0008 kb part of paging file in shared memoryEM/TOTAL_SIZE_MB 25840=25840*1024=26460160extend of memory [SAPBASIS]SAP内存管理参数详解SAP内存管理参数详解⽬录1. 内存管理参数配置2. 内存管理参数优化3. 内存管理参数验证1. 内存管理参数配置SAP内存三⼤块,Roll,Page和Extent,以下是参数⽰例及详解(for AIX,LINUX system)下图为SAP内存管理参详解:2.内存管理参数优化这只是⼀个例⼦,实际设中,我们会通常会在⽣产系统中设定以下,让page 和roll 在MEMory 上运⾏⽽不是在磁盘上,以提⾼SAP的性能rdisp/roll_maxfs=125000rdisp/roll_shm=125000rdisp/PG_shm=312500rdisp/PG_maxfs=312500这样设置之后,OnDisk[KB]会显⽰空⽩,表⽰所有的Roll area 和Page area 都运⾏在内存上.3.内存管理参数验证在设置完参数后在<sapsid>⽤户互环境下运⾏sappfpar check pf=/usr/sap/<SAPSID>/SYS/profile/DEFAULT.PFL. 如果有ERROR在倒数第⼆⾏,请更改相关参数,否则SAP在重新起动时会出错⽽不可以正常运⾏sappfpar check pf=C11_DVEBMGS35_rb3C11a0================================================== Checking profile: /usr/sap/C11/SYS/profile/C11_DVEBMGS35_rb3C11a0== SAP Release 749== SAP Patch 724== System ID 324 (IBM RS/6000 with AIX)== ES Implementation SHM2================================================Metadata Parameters Analysis================================================Parameters Redefinitions================================================***ERROR: sec/rsakeylengthdefault defined 2 times in /usr/sap/C11/SYS//profile/DEFAULT.PFLFormula Based Parameters================================================Parameter changes if default formulas would be used:================================================EM/TOTAL_SIZE_MB: 20480 --> 22938ES/SHM_MAX_SHARED_SEGS: 4 --> 2ES/SHM_PROC_SEG_COUNT: 8 --> 6ES/SHM_SEG_SIZE: 8192 --> 4096abap/buffersize: 4000000 --> 4698112abap/cov_buffersize: 112640 --> 119789abap/heap_area_total: 100000000 --> 3435973837abap/programs: 1000000 --> 1174528abap/shared_objects_size_MB: 1024 --> 459em/global_area_MB: 2048 --> 1147em/initial_size_MB: 20480 --> 22938em/max_size_MB: 20480 --> 22938em/reserved_area_MB: 410 --> 459es/max_seg_size_MB: 5032 --> 4096gw/max_conn: 4000 --> 8000ipc/shm_psize_40: 1677721600 --> 1835008000rdisp/PG_SHM: 125000 --> 66280rsdb/ntab/entrycount: 500000 --> 800000rsdb/ntab/ftabsize: 2000000 --> 800000rsdb/ntab/irbdsize: 400000 --> 160000rsdb/ntab/sntabsize: 200000 --> 80000rsdb/obj/buffersize: 300000 --> 335544rsdb/obj/max_objects: 100000 --> 83886rsdb/tbi_buffer_area_MB: 4000 --> 2776rtbb/buffer_length: 209715 --> 234881rtbb/max_tables: 69905 --> 78294zcsa/db_max_buftab: 699051 --> 782937zcsa/table_buffer_area: 2147483648 --> 2405181686Additional Memory and OS Specific Checks================================================Shared Memory Disposition Overview================================================Shared memory poolsKey: 10 PoolSize configured.....: 2100000000 (2002.7 MB)Size min. estimated.: 664763426 ( 634.0 MB)Advised Size........: 668000000 ( 637.1 MB)Shared memories inside of pool 10Key: 1 Size: 512 ( 0.0 MB) System administrationKey: 4 Size: 1109520 ( 1.1 MB) statistic areaKey: 7 Size: 33376 ( 0.0 MB) Update task administrationKey: 11 Size: 3000000 ( 2.9 MB) Factory calender bufferKey: 12 Size: 6000000 ( 5.7 MB) TemSe Char-Code convert Buf.Key: 13 Size: 60500000 ( 57.7 MB) Alert AreaKey: 14 Size: 40000000 ( 38.1 MB) Presentation bufferKey: 16 Size: 21360 ( 0.0 MB) Semaphore activity monitoringKey: 18 Size: 3382760 ( 3.2 MB) Paging administrationKey: 21 Size: 27232832 ( 26.0 MB) Request Queue AdminKey: 30 Size: 86140 ( 0.1 MB) Taskhandler runtime admin.Key: 46 Size: 160 ( 0.0 MB) DB sync tableKey: 47 Size: 41063424 ( 39.2 MB) DB CUA bufferKey: 48 Size: 2760160 ( 2.6 MB) Number range bufferKey: 49 Size: 2409708 ( 2.3 MB) Spool admin (SpoolWP+DiaWP) Key: 51 Size: 35000000 ( 33.4 MB) Extended memory admin.Key: 52 Size: 180000 ( 0.2 MB) Message Server bufferKey: 56 Size: 535936 ( 0.5 MB) Application statisticsKey: 57 Size: 1992294 ( 1.9 MB) Profilparameter in shared mem Key: 58 Size: 2076 ( 0.0 MB) Enqueue ID for resetKey: 62 Size: 180355072 ( 172.0 MB) Memory pipesKey: 64 Size: 4227072 ( 4.0 MB) Online Text Repository Buf.Key: 65 Size: 204832768 ( 195.3 MB) Export/Import Shared Memory Key: 81 Size: 35184 ( 0.0 MB) Security Audit LogShared memories outside of poolsKey: 2 Size: 248242704 ( 236.7 MB) Disp. administration tablesKey: 3 Size: 313344000 ( 298.8 MB) Disp. communication areasKey: 6 Size: 4259840000 (4062.5 MB) ABAP program bufferKey: 8 Size: 1024000500 ( 976.6 MB) Paging bufferKey: 20 Size: 156915666 ( 149.6 MB) New Table buffer tbiKey: 34 Size: 536870912 ( 512.0 MB) Enqueue tableKey: 41 Size: 25010000 ( 23.9 MB) DB statistics bufferKey: 42 Size: 268510352 ( 256.1 MB) DB TTAB bufferKey: 43 Size: 2088001424 (1991.3 MB) DB FTAB bufferKey: 44 Size: 425601424 ( 405.9 MB) DB IREC bufferKey: 45 Size: 220801424 ( 210.6 MB) DB short nametab bufferKey: 54 Size: 307208192 ( 293.0 MB) Export/Import bufferKey: 63 Size: 409600 ( 0.4 MB) ICMAN shared memoryKey: 73 Size: 60211232 ( 57.4 MB) CCMS Extended Alert AreaKey: 76 Size: 1185920 ( 1.1 MB) Ext. Segment AdministrationKey: 77 Size: 66688 ( 0.1 MB) Ext. Memory AdministrationKey: 78 Size: 4272 ( 0.0 MB) Ext. Global Memory AdminKey: 83 Size: 115343360 ( 110.0 MB) ABAP Coverage AnalyzerKey: 85 Size: 53264 ( 0.0 MB) ACM Trace and othersShared memory resource requirements estimatedTotal Nr of shared segments required.....: 22Nr of shared segments successful tested..: 100Shared memory segment size required min..: 4259840000 (4062.5 MB) Currently available maximum segment size.: 34359738368 (32768.0 MB) R/3-imposed maximum segment size.........: 21474836480 (20480.0 MB) Memory Space Requirements Estimated *================================================Shared memory....................: 10225 MB..in pool 10: 634.0 MB ( 99% used) **..not in pool: 9586.4 MBExtended Memory .................: 0 MBSAP Heap Memory .................: 95 MBGateway process .................: 143 MBICM process .....................: 195 MBAll Processes ...................: 4648 MB ( 41 WPs)------------------------------------------------Total, minimum requirement........: 14873 MBProcess local heaps, worst case...: 4743 MBTotal, worst case requirement.....: 14968 MB* These are only estimated values,final sizes may change** Shared Pools are automaticallycalculated by Kernel================================================Errors detected..................: 1Warnings detected................: 0================================================。

SAP-ABAP程序性能调优介绍

SAP-ABAP程序性能调优介绍
19
SAT程序性能跟踪分析
For User/Service
20
SAT程序性能跟踪分析
Evalute 显示分析结果
显示Net%最多的语句,双击显示代码
21
SAT程序性能跟踪分析
Tips & Tricks
特别是SQL和Internal Table
22
ST05 SQL Trace
按SQL语句汇总 Explain
查看扩展内存
查看CurUse和In Mem 查看Heap Memory 查看个人内存占用
双击Extended Memory -> 模式
11
ST04 数据库性能查看
Data Buffer Quality [%] > 99.5% Session Monitor 查看当前数据库session
In Dialog - 最常用
直接跟踪事务、程序和函数
In Parallel Session
直接跟踪某个Session
For User/Service
后台跟踪某个用户或者程序
15
SAT程序性能跟踪分析
测量精确性
高:对特定区域的高精度测量方式,降低测量错误的可能性,但测量时间会变短 低:测量时间及测试范围更大,但测试错误的可能性高
SQL优化
For all entries in
执行顺序 索引
正确的索引和字段顺序 正确的命中字段 大SQL/Hints
多进程处理
SAP用户与服务器交互过程
Pres. Server
SAP Application Server
Database Server
Network
Dispatcher Network

SAP系统性能优化方法探究

SAP系统性能优化方法探究

SAP系统性能优化方法探究摘要: SAP系统为企业提供了强大的业务管理解决方案,全球应用广泛。

但各企业的业务背景不同,用户定制化的需求也各异,需要ABAP开发语言在系统上进行二次开发。

本文分析了影响ABAP程序性能的诸多因素,结合系统标准功能,深入研究了多种程序优化的技术方法,通过实践检验,达到了提升SAP系统整体性能的目的。

关键词:性能优化;ABAP开发语言;SAP系统;二次开发1.影响ABAP程序性能的因素SAP系统由底层的文件系统、数据库管理系统、应用服务器、表现层的UI构成[1]。

影响ABAP程序性能的因素有很多,主要有以下几个:(1)硬件性能:数据库服务器、应用服务器的处理能力,客户端电脑的性能等都会影响ABAP程序的性能。

(2)网络带宽:ABAP 程序需要在在服务器之间、服务器与客户端之间传递数据,网络吞吐量的高低直接影响程序的性能[2]。

(3)服务器不合理的配置:SAP 服务器不合理的配置,特别是内存的配置,影响 ABAP 程序的性能。

(4)数据库表不合理的索引:数据库表索引能够提高查询数据的速度,但同时也会增加服务器选择索引的成本和更新索引的开销。

因此,没有索引和滥建索引都会影响 ABAP 程序的性能。

(5)程序处理的数据量:如果随着数据量的增加,程序的执行时间呈对数方式提升,则说明程序的性能较好,如果呈指数方式上升,则程序性能很差。

(6)程序不合理的代码:不合理的 ABAP 程序代码也会影响程序执行的性能。

2. ABAP程序性能优化的基本原则(1)减少对数据库的访问访问数据库消耗非常多的时间,频繁的访问数据库,对程序性能的影响是显而易见的,因为这意味着数据库开销的增加和网络往返次数的增加,所以在一个程序中,访问数据库的次数越少越好。

宁可一次多返回一些数据,也不要增加访问次数[1-2]。

(2)减少网络往返的数据量网络传输也能很明显的影响程序的执行时间,如果传输的数据量很大,那么网络延迟的时间就会很明显。

SAPABAP性能优化

SAPABAP性能优化
数据传输优化
减少数据传输量,提高数据处理速度。
程序缓存
合理使用程序缓存,减少重复计算和数据库访问。
多线程处理
利用多线程处理,提高程序执行效率。
报表性能优化
报表逻辑优化
简化报表逻辑,减少复杂计算和嵌套查询。
报表数据量控制
限制报表数据量,提高报表加载速度。
报表缓存
使用报表缓存,减少重复报表生成和数据查 询。
数据库查询优化
减少数据库访问次数
通过减少不必要的数据库查询和合并查询来 降低数据库负载,提高查询效率。
优化SQL语句
编写高效的SQL语句,避免使用低效的查询 方式。
使用索引
为经常查询的字段建立索引,加快查询速度。
数据库分区
将大表进行分区,提高查询和管理效率。
ABAP代码优化
减少程序逻辑复杂度
简化程序逻辑,减少嵌套层次,提高 代码执行效率。
分布式处理技术
使用分布式系统架构
通过分布式系统架构将系统负载分散到多个 节点上,提高系统处理能力和可靠性。
数据分片处理
将数据分散到多个节点上进行处理,提高数 据处理效率和并发处理能力。
分布式事务管理
实现分布式事务管理,确保数据一致性和可 靠性。
04
SAP ABAP性能优化的实践 与案例
数据库查询优化实践
什么是SAP ABAP性能优化
SAP ABAP性能优化是指通过一系列 技术手段和优化策略,提高SAP ABAP系统的运行效率,减少系统响 应时间,提升系统整体性能的过程。
它涉及对ABAP代码、数据库、系统 配置等多个方面的优化,以提高SAP 系统的整体性能和稳定性。
SAP ABAP性能优化的重要性
详细描述
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Extended Memory
• 所有SAP进程间的共享内存 • 不需要复制,只需要重定向指针 • em/initial_size_MB • 用unnamed mapped file实现
Private Memory
• 进入PRIV模式:直到当前的Transaction结束 • 进入PRIV模式的进程的自动终结
• 每一个前台操作,是由一系列Transaction Step组成 • 每个Transaction Step是SAP ABAP程序独立运行的最小单位 • 每个Transaction Step作为一个Dialog运行请求被提交给Dispatcher • Dispacher将任务指派给某个Dialog进程去处理
非Dialog进程如何分配内存
最佳优化实践-优化目标
• 最佳的前台响应时间
最佳优化实践-要解决的问题
• Dialog进程应该设多少个? • Extended Memory(em/initial_size_MB)应该设多大? • Roll Area(ztta/roll_first, ztta/roll_area)应该设多大? • 数据库应该被分配多大内存?
• Dialog进程设得多一些可以提高前台响应速度,但过多 又太浪费内存
最佳优化实践-优化方法
• 数据库访问通常不会成为瓶颈,因此可以少分配内存给它;而 且,当我们合理地设置了操作系统Cache时,与数据库本身 Cache的性能区别不大
• ztta/roll_first应该设得小一些,以使得Dialog进程尽量使用 Extended Memory, ztta/roll_area也无需太大,以节省每个进 程所占用的内存
最佳优化实践-左右为难
• 多分配一些内存给数据库可以提高数据访问速度,但 是过多也会造成操作系统Page in/out过多,而降低性 能
• Roll Area过大,内存复制的开销会很大,过小则容易 使非Dialog进程进入PRIV模式
• Extended Memory应设得大一些,以避免Dialog进程进 入PRIV模式,但太大了容易造成过多的操作系统Page in/out
• Dispatcher • Work Process
• Dialog:前台操作 • Update:异步数据更新 • Background:后台任务 • Enqueue:用于加锁与同步 • Spool:用于打印
内存使用
• User Context
• user-specific area: user and authorization data • session context: 每个前台用户可以有6个Session
• PRIV模式进程个数超过Max(rdisp/wppriv_max_no-5, 1) • 进入PRIV模式时间超过rdisp/max_priv_time(default=600s) • 非Dialog进程不受影响
Private Memory-进程重起
• abap/heaplimit
Dialog进程如何分配内存
• 所以,Dialog进程需要在处理每个Transaction Step前后切换User Context
内存使用分类
• Roll Area • Extended Memory • Private Memory
SAP 内存架构
Roll Area
• 进程的私有内存 • SAP使用复制保存的方法来维护User Context • 含有2个部分:ztta/roll_first, ztta/roll_area
• Variables • Internal Tables
SAP的内存使用
内存切换
• 什么是内存切换? • 为什么要进行内存切换?
内存切换
• 所有的前台操作都是由一批有限数量的后台Dialog进程进 行服务的
• 一个Dialog进程可能需要同时服务多个前台进程
• 一个Dialog进程是如何为多个前台会话服务的?
SAP内存配置优化方法
汉得信息技术有限公司 石伟民
主要内容
• 概述 • SAP 内存架构 • 最佳优化实践
概述
• SAP应用系统构成
• SAP GUI:客户端 • SAP Application Server:本篇重点 • SAP DB Server:根据DB种类进行参数调整
SAP Application Server架构
• Extended Memory应该设得较大,以避免进入PRIV模式,但又 保证系统使用内存总量(扣除OS Cache)不超过物理内存太多
• Dialog进程数பைடு நூலகம்应经过一个阶段的试用而定,主要是保证最大 队列长度不太大
• abap/heaplimit设为一个大小适中的值,可以少占内存 • abap/buffersize无需设得过大,只要没有明显受到影响即可
相关文档
最新文档