电力软件网-中国电力信息化专业网站 旗下网站: 电力软件网 | 中国电力免费黄页

 资讯综合新闻       发电信息化    电网信息化    |    产品方案    |    案例交流    |   行业研究
 技术技术应用        专业论文       技术资料      |    会议展会    |    电力 CIO    |   专家在线
 企业知名企业        推荐产品       企业动态      |    专业资料(会员专享)   |   广告位报价 
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

ERP系统性能优化实践

[日期:2014-08-04] 来源:电力软件网  作者:郑建新 谢若承 完泾平 [字体: ]


 
  要:浙江省电力公司ERP系统采用SAP ECC6.0平台,覆盖省地县三级供电企业。由于涉及面广、最终用户众多,该系统面临着十分巨大的性能压力。本文从实践出发,阐述了该系统性能问题的技术分布和优化策略。

关键词:ERP系统  性能优化 

 

1性能问题技术分布

浙电ERP系统由开发、测试、生产、培训、容灾和管理等系统组成,对于重要的服务器均采用了IBM RS6000系列小型机服务器,其中在生产系统中使用了AIX5.3-9操作系统、ORACLE10g后台数据库和使用Veritas Storage Fundation 5MP3软件实现逻辑卷管理及群集管理功能的软硬件平台架构。

浙电ERP系统全省覆盖后,从原先8000个最终用户增加到了超过12000,同时在线人数也超过了700人。业务量的大量增加,带来了诸多性能问题,浙电技术人员通过对系统性能和工作负载的监控,发现性能问题主要分布在操作系统、后台数据库、SAP系统参数、ABAP程序等方面,下面就将如何查找性能问题的原因及如何解决性能问题作个阐述,希望能起到借鉴作用。

2性能监控工具介绍

SAP系统中性能菜单下列出了许多分析性能的工具,用来分析性能瓶颈和查找产生性能问题的原因,比较常用的有:

2.1操作系统监控(事务代码st06n

监控操作系统软硬件运行状态、操作系统进程以及资源占用情况,对于AIX操作系统需要关注以下性能指标:

l         CPU空闲率,CPU空闲率平均每个小时至少为20%,这样才能保证系统对临时性工作高峰的负载;

l         SWAP交换空间使用情况,SWAP空间使用率过高说明系统物理内存资源不足,大量使用了硬盘上的交换空间,由于硬盘速度比物理内存慢,将影响系统的整体性能;

l         文件系统使用情况,关注是否有足够空余磁盘空间;

l         最占CPU资源的40个进程,关注最占资源的进程情况。

2.2数据库监控(事务代码db02st04

事务代码db02监控数据库系统运行状态、SQL语句性能分析、数据库空间管理、数据库诊断以及告警信息等;

事务代码st04监控数据库的性能统计值以观察数据库是否处于良好的运行状态。

2.3buffer监控(事务代码st02

    每天监控系统中各种buffer的命中率,比如:ROLL MEMORYEXTENDMEMORYHEAP MEMORYTABLE BUFFERABAP PROGRAM BUFFER等。

2.4进程监控(事务代码sm51sm50

    监控系统的进程,需关注长时间运行的后台工作、有缺陷的报表程序,若不进行控制都将消耗大量的系统资源。

2.5用户监控(事务代码sm04

    监控用户的活动情况,当前登录用户数量、是否有非法用户、是否有用户越权使用等等。

2.6工作量监控(事务代码st03

    将系统空闲时的工作量与出现性能问题时的工作量进行比对,能够尽快查找出发生问题的原因。

2.7锁定对象监控(事务代码sm12

    由于断线、程序出错等原因会造成对象长期锁定,从而影响系统性能,因此需对长期锁定的对象进行分析、更正。

2.8出错分析(事务代码st22

    查看系统日志中的出错日志,分析报表或事务错误的原因,并解决问题。

2.9系统日志(事务代码sm21

查看系统中的时间和问题,并提供问题解决方案。

3性能优化实践

    利用上述性能监控工作,对分布在操作系统、后台数据库、SAP系统参数、程序运行等方面的性能问题进行优化,从而保障浙电ERP系统的平稳运行。

3.1操作系统性能优化

3.1.1内存调优

浙电ERP系统搭建过程中曾经发现SWAP空间使用率过高,超过60%。经分析,AIX操作系统需要进行内存优化,内存调优主要集中在几个关键参数中,往往修改这几个参数就能很大地提高内存使用性能。例如:在AIX操作系统中内存可以分为计算型内存和文件型内存,对于大量文件类操作,如压缩、系统dump/load等操作会使用文件型内存。按照AIX系统的缺省配置,文件型内存最少都会占到30%minperm),导致SAP系统所需的计算型内存资源的短缺及SWAP空间的使用率过高。对此,将AIX操作系统中minperm的缺省值从30%,修改为3%。此外,根据SAP官方建议(note 973237),将以下内存参数进行了修改:lru_file_repage=0 strict_maxclient=1 strict_maxperm=0 minfree=960CPU数量*120)、 maxfree=1088CPU数量*128)。

3.1.2使用异步I/Oconcurrent I/O

AIX系统中默认使用同步I/O,当一个I/O操作执行时,应用程序必须等待,直到此I/O执行完毕。可见同步I/O的执行效率较低,因此需更改为异步I/O,让I/O操作在后台运行,I/O操作和应用程序可以同时运行,提高了系统性能。根据SAP官方建议(note 973237 ,将异步I/O设置为:maxservers=minservers=1.2*数据库文件数量,并把每个用户的最大进程数maxprocs设置为4096

4.2后台数据库性能优化

浙电ERP系统使用oracle 10g作为后台数据库,一般来说对系统性能影响按照从大到小的排序依次为Database->system->ABAP,可见优化后台数据库的性能至关重要。通常使用事物代码DB02SE30等分析出哪些Table花费的成本最高,对这些Table,首先要检查索引,常常发现一些记录几十万条的Table都没有创建任何索引,导致每次查询都要进行全表扫描,效率低下,因此需要执行事务代码SE11对经常作为查询条件的字段创建索引。其次,可以执行事务代码ST05去追踪SQL Performance,检查SQL执行计划,有时SQL语句应该使用索引却实际没有使用索引,这时就应该在SQL语句中使用优化器(SQL HINT)。

浙电ERP系统服务器上同时运行了CIDBDI,当同一服务器包含ORACLE数据库和SAP实例时,使用的内存数量比例应为3:7,执行事务代码ST04DB02,可以调整ORACLE SGA的大小。此外,SAP官方提供了ORACLE数据库参数检测工具(详见note 1171650),执行该工具会提供参数修改意见,按照意见相应的进行修改即可。

4.3 SAP系统参数性能优化

4.3.1调整工作进程的数量

SAP ECC6系统中,工作进程根据类型可分为:dialogupdate(v1)update(v2)enqueuebackupgroundspool,通过执行事务RZ10可以对工作进程的数量进行调整,同时执行事务代码SM50可以监视工作进程的ID、状态、关联的动作、程序等等。

工作进程的工作机制概况如下:

l         dispatcher在分配进程前,用户的请求将放置在request queues中等待;

l         每个实例的dispatcher由中心实例的message server统一调配;

l         每个dialog请求尽可能地被分配给空闲的工作进程;

l         如果一个事务调用一个以上的屏幕,系统dialog steps将指派给不同的工作进程;

l         工作进程本身不执行数据库的操作,所有数据库的操作将由特定的DB接口由数据库进程实现。

工作进程的数量的调整需要进行多次尝试和频繁的监视,并且随着业务的增减随时变更。通过科学的配置和使用操作模式,目前浙电ERP系统生产系统中工作进程的优化数量情况如下:

    dialog 60update(v1) 8update(v2) 4enqueue 1background 10spool 3

4.3.2系统参数配置优化

执行事务代码st02监控buffer情况,对sap buffer来说,不应当有太多的swap情况出现,但从图1的监控结果中发现swap情况较多。


1  buffer监控结果

双击带红的行,然后选“Current Parameter”键,SAP系统会提示修改哪些参数来调整这些buffer。检查每个buffer的历史运行情况,确定到底是空间不够还是FreeEntry不足导致swap情况太多,经分析还是由于空间不足引起的,因此对以下参数进行了调整:

l         CUA:把rsdb/cua/buffersize40000调整到60000

l         Screen:把zcsa/presentation_buffer_area15000000调整到20000000

l         Generic Key:把zcsa/presentation_buffer_area100000000调整到160000000

               zcsa/db_max_buftab10000调整到16000

l         single record:把rtbb/buffer_length30000调整到60000

l         export/import:把rsdb/obj/buffersize60000调整到80000

参数调整后,一定要检查一下参数是否有错误,否则系统将无法正常启动。调整参数后,bufferswap情况就较少,详见下图2


 

2  参数调整后buffer监控结果

4.4程序运行优化

4.4.1工作量负载调整

浙电ERP系统中生产系统由erpprderpapp1两台服务器构成,平时erpprd服务器上运行CIDBDI,而erpapp1中只运行DI,从这两台服务器的CPU使用情况(2011011/21~2010/12/20)来看,cpu使用率非常不平衡:

 



4  ERPapp1 CPU使用率

ERPprd(CI +DB+DI)CPU负载较高,大部分时间维持在70%80%之间,甚至有几天接近90%;而erpapp1(DI)CPU使用率反而较低,大部分时间维持在30%左右。因此调整两台服务器的工作量负载,把一些后台作业、集约化接口程序、项目中的数据导入等高耗资源的作业安排在erpapp1上进行,让这两台服务器的工作量做到均衡。

4.4.2程序优化

利用进程监控、工作量监控等工具找出响应时间最长的报表或事务代码,把这些作业安排在空闲时间进行,并对Z开头的自定义程序做性能分析与优化。下表为浙电ERP系统中部分响应时间较长的事务列表:


对上表中的事务列表可以使用事务代码SE30ST05进行程序和SQL语句性能和效率的分析,根据分析结果,对这些程序进行了以下优化:

    1.对一些比较大的透明表查询,尽可能使用主键和索引,如果有多个主键,尽可能全部使用,如果不能全部使用,尽可能使用前面的主键。例如:表BKPF包含3个主键,BUKRSGJAHRBELNR,最好3个主键共同使用,如果不能全部使用,则至少包含BUKRS,使用GJAHRBELNR,或者使用BELNR,而不指定BUKRS,都会造成效率的下降。

2.如果访问的是簇表,必须使用主键,如果不能使用,可以先查询这个簇表的索引表,再根据索引表的记录访问该簇表。例如:需要查询表BSEG,如果不能使用主键,则需要先查询表BSIDBSAD,然后根据得到的主键查询表BSEG

3.避免在LOOP中访问数据库,可以之前先把数据取到内表,在LOOP中用READ TABLE WITH KEY…BINARY SEARCH进行读取对应的数据。

    4.较少使用INNER JOIN或者OUTER JOIN,因为这些语句不会访问数据库的DATA BUFFER,会造成数据访问效率的降低。对频繁查询的数据可以创建一个数据库视图VIEW,实现多个透明表的关联。

5.查询透明表时,不要使用ORDER BY,即使是主键,也要慎用。因为很容易造成全表搜索。

5性能优化中的经验总结

浙电ERP系统性能优化实施过程中,只有把握住关键因素,才能更好的保证优化质量、降低实施风险、保证性能优化实施过程中的业务连续性。根据浙电ERP系统性能优化的实际情况,将优化经验做了以下归纳总结:

5.1加强与最终用户的沟通

浙电ERP系统涉及面广,复杂度高,许多性能上的问题都是由最终用户发现的,因此需要建立问题上报机制,确保技术人员能尽快得知,尽早处理问题。另外,最终用户的使用习惯对系统的性能影响很大,以前很多需大量运算的操作都会集中在同一时间,给系统带来很大的性能压力,现在要求各个单位把这些操作在不同的时间进行,大大缓解了系统的压力。

5.2性能优化中风险应对

性能优化是常态工作,随着业务情况不同需不断进行,并且不少优化只能靠经验进行尝试,特别是一些参数修改后需重启应用才能生效。可见,性能优化的风险还是较大的。对此,要做到优化有依据,按照SAP官方建议执行;优化有计划,做好系统停机时间控制,及时通知最终用户;优化有备份,优化前要备份原有的参数文件、程序、数据表等,确保优化失败能够恢复到原先的状态。

5.3完善性能优化档案

由于浙电ERP系统涉及面广,用户众多,发生任何问题就影响巨大,因此需详细记录每次性能优化的情况,尤其是对性能优化前后对比效果,形成完善的性能优化档案,便于质量监督。

6结束语

本文主要是从技术角度出发,根据浙电ERP系统的性能优化实践,提出了几点影响系统性能的因素,并给出解决方法。性能优化是个系统工程,涉及面广,许多优化都依赖于技术人员的经验,因此技术人员之间要加强沟通交流,更好的作出应有贡献。

 

1.      陈岩冰龙策景彭丹 著:《SAP系统管理》,清华大学出版社2006年1月出版,ISBN:7302122377

2.      萨斯喀亚历山大拜尔等著,陈跃东译:《SAP权限系统》,东方出版社2006年3月出版,ISBN:7506024780

3.      托马斯·施奈德著,勾侃译:《SAP性能优化》,东方出版社2006年2月出版,ISBN:9787506023627

 

作者简介

郑建新, 工程师,从事信息系统建设与维护工作。

谢若承, 高级工程师,从事ERP信息化应用管理工作。

完泾平 工程师,从事计算机教学、程序开发、ERP运维管理工作。

 

 

 

阅读:
录入:许熔熔

推荐 】 【 打印
分享到:
图片新闻
本文评论       全部评论
  http://www.dlrjw.com/html/2014-07/5897.h   (1481901052 ,02月28日 )
  http://www.dlrjw.com/html/2014-08/5987.h   (1481901033 ,02月26日 )
  http://www.dlrjw.com/html/2014-07/5897.h   (1481901052 ,01月04日 )
  http://www.dlrjw.com/html/2014-07/5897.h   (1481901052 ,12月24日 )
  http://www.dlrjw.com/html/2014-08/5987.h   (1481901033 ,12月24日 )
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
内容查询


赞助商广告

电力软件网