[BASIS]SAP内存优化配置学习

     SAP应用系统为三层:SAP GUI、SAP应用服务器、SAP数据服务器
    本次我们主要针对 SAP应用服务器进行内容优化配置; SAP应用服务器架构主要由Dispatcher、Work Process两部分组成,其中Work Process又包括了有Dialog:前台操作、Update:异步数据更新、Background:后台任务、Enqueue:用于加锁与同步、Spool:用于打印。
   SAP应用服务器对于内存的使用:
1.  User Context
–user-specific area: user and authorization data
–session context: 每个前台用户可以有6个Session
2. Variables
3. Internal Tables

4 什么是内存切换?
   为什么要进行内存切换?所有的前台操作都是由一批有限数量的后台Dialog进程进行服务的
一个Dialog进程可能需要同时服务多个前台进程
一个Dialog进程是如何为多个前台会话服务的?
每一个前台操作,是由一系列Transaction Step组成
每个Transaction Step是SAP ABAP程序独立运行的最小单位
每个Transaction Step作为一个Dialog运行请求被提交给Dispatcher
Dispacher将任务指派给某个Dialog进程去处理
    所以,Dialog进程需要在处理每个Transaction Step前后切换User Context


5 进入PRIV模式:直到当前的Transaction结束
  进入PRIV模式的进程的自动终结
 PRIV模式进程个数超过Max(rdisp/wppriv_max_no-5, 1)
 进入PRIV模式时间超过rdisp/max_priv_time(default=600s)
 非Dialog进程不受影响
 Dialog进程如何分配内存


6 最佳优化实践-左右为难
 多分配一些内存给数据库可以提高数据访问速度,但是过多也会造成操作系统Page in/out过多,而降低性能
 Roll Area过大,内存复制的开销会很大,过小则容易使非Dialog进程进入PRIV模式
 Extended Memory应设得大一些,以避免Dialog进程进入PRIV模式,但太大了容易造成过多的操作系统Page in/out
 Dialog进程设得多一些可以提高前台响应速度,但过多又太浪费内存

7 最佳优化实践-优化方法
 数据库访问通常不会成为瓶颈,因此可以少分配内存给它;而且,当我们合理地设置了操作系统Cache时,与数据库本身Cache的性能区别不大
 ztta/roll_first应该设得小一些,以使得Dialog进程尽量使用Extended Memory, ztta/roll_area也无需太大,以节省每个进程所占用的内存
 Extended Memory应该设得较大,以避免进入PRIV模式,但又保证系统使用内存总量(扣除OS Cache)不超过物理内存太多
 Dialog进程数量应经过一个阶段的试用而定,主要是保证最大队列长度不太大
 abap/heaplimit设为一个大小适中的值,可以少占内存
 abap/buffersize无需设得过大,只要没有明显受到影响即可

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20659905/viewspace-2153986/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20659905/viewspace-2153986/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值