服务器PRIV工作模式分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ERP服务器PRIV工作模式分析
环境介绍:
HP N4000小型机(主机)
主机名:aes04p61
内存:4G
CPU: 550Mhz 4颗
应用软件:SAP 46C中央应用服务, 数据库ORACLE 8.1.7.2.0, HP OMNI2 备份软件
接纳在线用户数:50人
HP N4000小型机(副机)
主机名:aes04p62
内存:4G
CPU: 550Mhz 4颗
应用软件:SAP 46C一般应用服务
接纳在线用户数: 150人
上图表示一次用户的操作的R/3模型.
第一层: 用户PC和PC上安装的SAP客户端
第二层: 服务器上安装的SAP服务器程序,根据用户的不同操作,SAP服务提供各种对应的服务进程.如: 对应用户前台操作的D服务进程, 对应用户更新数据操作的V服务进程,对应用户后台大数据操作的B服务进程等…而一般的用户操作都同D服务进程相关.
第三层: ORACLE数据库.
下面的问题将集中在第一层和第二层讨论.
问题提出:
可以看到在系统使用高峰期,太多的用户进入PRIV独占工作模式.
何为PRIV独占工作模式?
首先看看正常工作模式:
1. 一用户使用客户端登陆服务器.
2. 服务器D服务进程1接纳该用户,
分配ROLL内存空间存储用户授权相关数据.
分配EXTEND内存空间存储用户工作时使用的相关数据.
接纳用户,分配内存的一瞬间, D服务进程1处于”忙”状态.(这时该用户独占D服务进程1) 3. 分配内存完毕, D服务进程1处于”空闲”状态. (这时D服务进程1可以接纳其它用户) 在登陆后的事务的使用,一个D服务进程,也可以给多个用户提供服务.
在正常的情况下是可以接纳5-10个用户.
SAP服务器的内存使用:
用户连接服务器,
服务器给该用户分配ROLL内存空间存储用户授权相关数据.
服务器给该用户分配EXTEND内存空间存储用户工作时使用的相关数据.
由于服务器的内存是有限的,给用户分配的空间也有一个限额. 当该用户工作,在数据库中抽取的数据比较大时.分配的EXTEND内存空间可能不够使用.这时候会在用户PC机上的内存中开一块空间,叫”堆”内存. 并使用它.
服务器和客户端的内存被连接起来使用.结果一个D服务进程只能一直连接该客户端….而不能象正常的那样自由切换..因为heap”堆”内存是用户PC上的一块,不由D服务进程所完全控制.
PRIV模式的本质:
用户工作,在数据库中抽取的数据比较大时,因为服务器上可分给他的EXTEND扩展内存空间不够,该用户PC机上的内存也被用来使用,负责接纳它的D服务进程一直对它提供服务,而其它用户只有找另外空闲的D服务进程使用.当PRIV模式大量出现时,服务器所能接待用户的能力成倍地减小. 如果没有空闲的D服务进程, 使用客户端的用户只能暂停等待. 等待有空闲的D服务进程出现.
PRIV独占工作模式有什么影响?
现在我们的:
61主机的D服务进程10个, 接纳在线用户50人.
62副机的D服务进程35个, 接纳在线用户150人.
按照上面的负载平衡配置,运行数据库的61主机所使用的SW AP(磁盘虚拟内存)相对较少.有利于提升整个系统的性能,详情请看BASIS技术文档中<<基于去减少SW AP区使用而提高性能的调整策略>>一文.
在系统使用高峰时期(每月盘存前后) ,3个G的EXTEND内存快速被用完…很多D服务进程进入PRIV独占工作模式…
服务器接纳的用户数减少…..没有占到D服务进程的用户出现停滞暂停状态.
62服务器的D服务进程由原来的10个增加到35个.从服务器内存配置来看,已经无法再增加D服务进程个数,因为D服务进程本来也要占用内存.
如何解决?
1. 增加服务器内存后,扩大系统EXTEND内存区.
2. APAB人员开发报表时注意内表的使用.
3. 关键用户给用户开权限时注意, 相同数据的报表,只由一个用户在系统中抽取,在系统外发给其他用户使用. 避免在高峰期很多用户都使用相同的事务代码,抽取相同的数据.造成服务器资源浪费.