新闻中心

EEPW首页>测试测量>设计应用> 基于国产基础软件应用系统的性能测试与优化研究

基于国产基础软件应用系统的性能测试与优化研究

作者: 时间:2010-07-20 来源:网络 收藏


2.3 录制测试脚本
测试脚本是一组代码,执行时,可以模拟用户操作对服务器产生的请求数据,或是模拟用户执行操作的过程、用户等待行为等。脚本的录制按照以下步骤执行:
(1)使用LoadRunner录制测试从业务使用频繁程度以及负载量的大小选择新建患者资料、患者资料查询、新增日程功能作为三组测试[4]。这三组测试脚本模拟的执行过程为系统登录、业务操作和退出系统。
(2)每个操作定义为一个事务,在事务前后加入随机的思考时间。
(3)在事务前设置集合点,保证用户执行操作的并发。
(4)在用户实际操作的过程中,不同用户提交的数据、系统动态生成的会话标志是不一致的。通过参数化来设定差异值的取值范围、迭代方式,实现数据的变量化,而系统的会话标志如session,则需要设置关联来保存。
2.4 设计测试场景
在性能测试中,常见的错误观点是只设置单一的场景。场景的设计是至关重要的,只有设计的测试场景真实地反映用户的实际场景,性能测试的结果才可靠。
场景的设计需要考虑到系统运行时,不同操作对系统形成的负载差异,需要确定典型的应用场景下不同操作用户的比例[5]。医疗信息系统日常执行新建患者资料、查询患者资料、新建日程的比例分别为25%、60%、15%。
在创建的场景中载入已录制的三组测试脚本,并设置执行比例。编辑场景中的计划生产器,设置虚拟用户以一定的间隔时间按比例递增,逐步启动与服务器建立连接。
2.5 分析测试结果
在性能测试的过程中,LoadRunner会收集到大量的测试数据,包括每个性能指标,如事务的错误、警告和通知信息等。并发用户数为200的事务响应时间如表3所示。

在测试过程中出现的问题:(1)大量用户并发时,服务器CPU、内存的资源利用率却很低;(2)事务执行成功率低、成功事务的平均响应时间长,很多事务因为连接超时而失败;(3)出现内存泄露;(4)Tongweb控制台显示连接数据库时出现网络通信异常。
从测试结果可见,系统存在性能瓶颈。因此,为了使系统达到最佳的性能,需要分析测试环境对系统性能的影响,对其进行性能优化,摒除系统性能瓶颈。
3 系统优化
3.1 系统优化框架

根据Mercury公司的报告,系统的性能问题由许多因素构成。系统结构、代码的优化程度、网络环境、数据库服务器、应用服务器都会对系统的性能表现造成影响。但是,影响系统优化主要因素是网络环境、应用程序、应用服务器和数据库服务器[6]。考虑到这些因素之间的相互依赖关系,采用从高层到低层的优化方法。该方法的特点是先调优高层的环境,然后调优较低层的环境,符合高层实现依赖于低层实现的一般规律。优化层次如图2所示,但如果随意调整,容易造成循环。

(1)网络环境优化
网络是影响系统性能的重要因素之一,其影响主要反映在事务的响应时间与吞吐量上。在测试过程中,如果吞吐量没有随并发用户增多而增大,且事务响应时间比较长时,可以考虑对网络进行优化,改善网络的带宽。
(2)应用程序优化
应用程序优化针对数据访问层,其优化措施主要有以下几方面:(1)优化SQL语句;(2)尽量引入连接池机制,减少频繁打开、关闭数据库连接的操作,控制当前激活的数据库连接总数,防止系统过载;(3)引入缓存机制,以减少磁盘I/O的次数。这些优化措施能够提高数据读取速率,减少访问响应时间,降低资源的使用率。
(3)应用服务器优化
应用服务器优化集中在最大连接限制数、内存配置。在大量并发的情况下,应用服务器承受很大的负载压力,过多地连接会很快消耗掉大量系统资源,过低的连接限制会增大连接时延,延长事务响应时间。优化时根据系统资源合理设置应用服务器最大连接限制数、内存,避免内存泄露现象出现,尽量减少响应时间。
(4)数据库系统优化
数据库系统优化主要是配置数据缓存区大小、最大并发会话数,为数据库建立合理的索引。设置较大数据缓存区,可以减少数据交换次数,降低系统资源消耗。为大数据量、访问频繁的数据库表建立合理的索引,能够消除对表的顺序存储,从而提高系统的检索性能。在CPU资源和I/O资源可用的情况下,如果服务器有很长的事务等待队列,增大最大并发会话数,可以减少响应时间。



评论


相关推荐

技术专区

关闭