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 部署
  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无需设得过大,只要没有明显受到影响即可
相关文档
最新文档