•     
  服务与研发 » 系统性能优化服务
QAD企业应用系统性能优化服务

财务经理办公室:
  经理(愤怒):“为啥XX还没好?月结时间已经过了!”
  会计(委屈):“我……我通宵加班,系统太慢了……这个……您能不能出面解决一下……”
  ……

IT办公室(几乎人人都在接电话):

  生产部发料员:“某某报告已经运行了N个小时还没有结果,以前很快的……帮帮忙吧……”
  货仓发货员:“XXXSO发不了货,停在XX上没有反应,我下班前一定要搞定,请即刻处理……”
  采购部采购员:“如果这个菜单还这么慢的话,我完成不了……耽误了生产的话,你就看着办吧。”

相信大家都不愿意看到这个热闹场景。和其他系统一样,性能是QAD企业应用系统可用性的一个重要组成部分,在硬件价格大幅下调的今天仍然有其重大的意义。借用一句经常看到的话:“隐患险于明火、防范胜于救灾……”,让我们先谈谈如何把“优化”贯穿在QAD企业应用的各个阶段:包括规划、实施、正式使用。目的是让它尽可能地避免需要优化可能,预防系统性能问题的出现。

1.QAD企业应用使用规划和硬件规划:
在应用和硬件规划阶段,系统对性能的基本要求由下列几点决定:使用QAD企业应用的哪些模块、同时在线用户个数、业务量、如何在系统中实现业务流程。在项目前期,规划需要留有足够的余量,使之能够应对将来的需求(例如10年),已经成为大家的共识。良好的前期规划是预防性能问题的基本前提条件,谁也不会计划买个轿车去拉货柜吧。比较容易被很多人忽视的是:在项目的实施过程中,某些简单的决定对系统性能也可能有意外的重大影响。例如:如何设置地点(site),影响着site的个数,进而影响系统的完成成本滚加、运行MRP所需的总时间;在决定如何维护物料清单、如何产生加工单的时候,请把工单的数量过大或者层次过深对性能的影响也考虑进来;在有条码系统的情况下,如果每个成品下线都需要在系统中的发料,往往会导致巨量的发料事务记录,对系统的整体性能也会产生重大影响;如果您有其他的外围系统,片面地追求实时性在很多时候的效果会适得其反。这个道理就和开飞机一样,请在性能包线内使用系统,您不能期望轿车倒着开也能达到时速120公里,虽然说明书上标明的设计时速是160。

2.任务时间安排:
各种任务的时间安排往往对系统性能也有很大的影响,建议把运行MRP/DRP、工单下达等资源消耗极大的任务安排在系统“不忙”的时间段内集中处理。很精心地安排月结阶段各种工作。
如果可能,建议尽量不要在月结的时候才集中处理诸如发票过帐、工单Accounting close这样的任务,考虑把它们提前到日常工作中的可能性。

3.随着时间的推移,系统会像滚雪球一样越来越大,清理和重组底层数据工作是必要而且必须的。QAD企业应用系统提供了大量的删除/存档功能,制定切实可行的存档删除策略和数据导出导入计划对系统的性能会很有帮助。

4.请确保第三方系统和QAD企业应用的集成经过了严格的性能测试,建立了完备的管理流程,并由接受过专业培训的人员完成集成过程和客户化菜单的开发。一句不恰当的Select语句ODBC或JDBC接口执行就可能导致整个系统的瘫痪。客户化程序的一个基本性能要求是尽量确保应用运行时间的增长与数据量的增长是线型关系,在很多性能问题的背后都是因为做不到这一点。

简单的说,这是一个“如果数据量增大2倍,运行时间是增大到2倍以内,还是4倍、8倍或者更多”的问题。

如果很不幸,本文开始的场景出现了,如何解决呢?“决定木桶能装多少水的,永远是最短的那条木板”,找到最短的那块木板需要对系统的各个层次有深入的了解。有人说:这个简单,采用快10倍的CPU、更大的内存、升级为更大带宽的SAN、把硬盘全都更换为15k,这总行了吧?这样的想法基于改善桌面系统方法的思维贯性。无疑,升级系统硬件对性能肯定有帮助,但是效果往往没有您期望的那么好。

除了升级硬件,我们还能够从下面三个方面对系统进行调查分析:

1.应用程序调研:
通过对当前正在执行的应用调查,我们知道:哪些应用慢?同时在运行什么?深入的调查应用相互影响关系,找到系统的瓶颈,解决方案可能是:调整系统应用模式、调整任务时间安排,优化应用代码,培训系统管理和开发人员等等。

2.数据库系统优化:
通过Progress数据库系统提供的promon、proutil工具,跟踪分析数据库事务,通过调整系统相关的配置、启动和连接参数,设置合适的共享内存大小,设置合适的数据库客户端私有内存大小,设置合适的共享服务个数,合适的CPU共享锁延迟。目的是减少checkpoint的发生,提高缓存命中率,提高系统的IO吞吐效率。数据库系统相关的参数设置和底层操作系统的设置联系非常紧密,往往需要同时考虑。

3.操作系统优化:
这是个非常庞大的话题,不同的操作系统的资源分配算法差别很大,优化调整办法也千差万别,每种操作系统都有专业书籍详细解释优化相关的操作。作为入门书籍,推荐一本O'reilly公司的《系统性能优化》,主要关注Solaris和Linux系统。

不管是什么操作系统,本质上它们都计算中心,是连接各种应用、底层硬件、和最终用户的桥梁,所有的优化都是寻找CPU、内存、存储设备、网络设备工作负荷的最佳平衡点。CPU计算资源不足通过简单的系统命令是很容易知道的,相对来说,要发现其他问题困难许多。QAD企业应用系统的重要基础是Progress数据库管理系统,操作系统优化过程的主要目标一般被设定为调整操作系统加快Progress数据库管理系统的运行速度,尽管Progress和其他数据库有很大的差异,优化(OLTP)联机事务处理关系型数据库性能的通用原则也同样适用。从操作系统角度看,QAD系统重要的特点是:平时要求高并发写,月结阶段同时要求高并发读。既然大多数系统CPU的处理速度比IO的速度快很多,大多数操作系统优化的方案的重点是增大有效数据的IO吞吐率,降低CPU的IO无效等待时间,同时使得操作系统基本不使用交换空间、尽量在内存中锁住或者缓存应用程序的上下文、减少应用程序动态内存数据振荡频率。

最后衷心希望,每次月结的时候,下面IT经理的幸福生活场景能够出现:

  和往常一样,办公室里一片平静……

关于QAD企业应用系统性能调优服务:
服务周期:约1周
服务内容:当前系统调研分析;系统活动信息采集(操作系统,数据库以及QAD应用系统);性能问题汇报和建议;执行性能调优;性能调优总结报告。

如您需预定或了解更多此项服务的信息,请联系:021-61823638,或rc2@qad.com.cn

打印此页打印此页