(完整版)系统性能调优方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章系统性能调优方案
1.1系统的性能扩展模型介绍
在进行性能指标设计工作前,必须从理论上对性能指标的可实现性进行分析。理论上,系统的扩展模型可以分成两类,系统可扩展模型和不可扩展模型,如下图所示:
两种性能扩展模型
以上左图代表了系统随着并发用户量的增加系统响应时间呈现线性增长的趋势,是一种可扩展的情况;但对于系统右边的方式则是不可扩展的,它将随着用户数量的增大而响应时间大大急剧增加,这种模型是完全不可控制的。
通过系统压力实验,我们发现,即使是遵循可扩展模型设计的系统的响应性能和并发用户量并不能成永远的线性关系,在系统压力超过一定的值之后,如100并发,系统响应时间增加非常快,我们把这个点称为拐点.在拐点以下,系统性能呈现良好的线性特性,在拐点以上,则呈现出非线性的特征,同时CPU和内存出现相当大的增长,甚至100%占用。这种现象的出现,说明系统的性能不仅仅取决于软件系统,而也同时取决于承载系统的硬件基础环境,如计算能力和内存大小.
为此,系统性能设计的目的就是为系统设置合理的拐点并发值,而不可能无限制的追求无限大的并发下系统响应仍旧呈现线形特征。
1.2对响应时间的技术保障手段
金税三期工程第二阶段河南地税建设项目财务管理子系统对系统的性能要求是比较高的,为了满足这个要求,在系统实现上必须要采用一系列的技术措施才能达到,具体来说将采用下面方式进行:
1、预处理技术的应用
预处理技术是一种在预定计划上由系统激发主动执行的计算模式,它对于一些处理内容固定,处理方式固定的功能非常有效,通过提前处理,实现数据生成时间和数据访问时间的隔离,在数据访问的时候不再需要为拿到结果而执行任何的计算,只需要简单的查询结果即可,这样可以大大增强系统的访问性能,有效的利用系统闲置时间.
2、变动态内容查找为静态数据访问
一些情况下,经过各种调优手段仍不能满足要求,就需要将一些动态的内容进行静态化处理,如可以将复杂的动态报表转化成HTML网页并发布在WEB服务器上,这种方式可以大大减轻应用服务器的访问压力,进一步减少用户等待的时间.例如,对一段历史时期的数据的汇总报表结果的查询,复杂报表结果等查询。
3、异步功能调用模式
对一些耗时较长的处理内容,如果必须由人工进行启动,那么,可以采用这种方式,用户调用程序的时候,实际上只是发送了一个消息给后台服务器,并在服务器端注册信息处理完后需要回馈的客户端,然后系统提示用户系统正在或很快处理这个任务,这样,立刻就能够解放用户,用户可以利用在后台处理的时间去处理其他的任务,在系统处理完后,采用推技术(push),将处理结果提示给用户,从而完成功能的调用全过程.
4、浏览器显示时采用分页、分时显示技术
用户从数据库查询得到的数据如果行数比较多,比如大于100行.在IE端显示就需要花费很长时间,有时让查询人员无法忍受。分页技术,就是利用先显示结果的一部分,一般结果的前50条记录,后面的记录通过翻页的功能去显示其余部分。比如在查询正常计划详细列表页面时,通过查询得到1000条记录,如果全部显示这些记录,平均一条需要0.05秒,那么显示这些记录就需要50秒(近1分钟的时间),这个时间对一般的查询人员是无法忍受的。况且1000条记录的查询是一个非常普通的查询,利用我们公司的独有的分页技术,先从数据库结果集,读取前
20条记录,显示在页面中,按平均一条需要0。05秒的显示时间,需要1秒钟的时间,这对一般的查询人员就可以接受。剩下的结果集,在通过用户点击下一页或直接定位的某页再从后端传对应的数据并显示。这项技术的使用,使我们在浏览器端的显示时间都控制在1.5秒钟以内。
5、数据库优化调整策略
ORACLE数据表分区技术,利用分区,可以将查询所涉及的数据进一步进行限制,提高访问数据库的效率
索引技术:索引技术对于在数据库中定位一条数据非常重要,在金税三期工程第二阶段河南地税建设项目财务管理子系统中我们将在关键地方建立索引,以此来提高系统查询的性能。
实体化视图技术:实体化视图技术可以把数据表的部分内容装载进内存中,并由DBMS负责维护实体化视图和物理数据表的一致性,由于数据查询是在内存中进行,其速度是极其快的。
6、脚本本地化技术
web界面显示过程中,有相当大部分的脚本从服务器上下载到客户端。我们认为,每次下载这些内容是毫无意义的,因此,可以通过在客户端设置缓冲区,将脚本在登陆的时候一次性的下载到本地,这样可以大大减少每次界面打开时从服务器获取的数据量,提升系统性能.
7、重点功能点优化
通过压力测试工具,寻找重点功能点上最占用资源(计算资源和内存资源)的瓶径,然后加以解决。再用压力测试工具寻找下一个最大瓶径,加以解决.这样反复处理,直到性能满足要求为止。
8、WebLogic优化技术
公司使用WebLogic中间件已经多年的时间,通过在全国各地上百个项目的实践,积累了相当多的WebLogic调优经验,也包含WebLogic集群部署方面的,可以保证WebLogic处于最佳状态运行。