论文部分内容阅读
【摘 要】软件系统的性能越来越受重视,通过Loadrunner性能测试工具可以对软件系统的性能进行确定、评估和优化。本文以SugarCRM系统的性能测试为例,对Loadrunner的多种结果分析技术进行研究与实践。
【关键词】Loadrunner 性能测试 Analysis 软件测试 测试案例
一、SugarCRM系统介绍
SugarCRM系统是由Sugar公司基于Linux+Apache+MySql+PHP平台开发的新一代B/S架构客户关系管理系统,主要包括客户关系管理、销售自动化、客户服务跟踪等模块。本案例按照客户需求对客户管理模块进行了并发性和响应时间测试。
二、Loadrunner的工作流程
Loadrunner由三大组件组成,通过这三大组件的协作去完成性能测试,它们分别为虚拟用户发生器(VuGen)、控制器(Controller)和分析器(Analysis)。Loadrunner工作流程如下:
(一)通過VuGen生成脚本,强化脚本并调试脚本。
(二)通过Controller设计场景,执行场景,同时监控场景。
(三)通过Analysis分析结果,并得出测试报告。
三、案例的测试需求与测试执行
本文选取SugarCRM系统中客户管理业务流程中大数据提交操作的性能测试作为研究案例,该性能测试要求:系统处理提交数据的响应时间最大不超过15s,至少可以支持30个用户并发操作。
脚本与场景按照需求设计好后,执行30个用户并发操作的响应时间为29.586s,超出了预期的最大值15s。然后,多次减少并发用户数去重复测试,得出系统可支持的最大并发用户数为14个,此时的响应时间为14.902s,而当并发用户数为15个时,响应时间为15.932s。
四、测试结果分析
利用Analysis的技术去分析软件系统可能存在的问题,Analysis常用的技术有:合并、关联、页面细分等。下面我们使用这几种方法去分析30个用户并发的结果。
(一)合并技术
合并技术,即将几个分析图合并的技术。通过该技术可从多角度去度量测试结果。在该案例中,将“正在运行的用户图”,“每秒点击数图”和“吞吐量图”合并,如下图:
从上图看出,随着Vuser数量的增加,每秒点击数和吞吐量整体趋势并不是持续增加的。Vuser数量稳定时,每秒点击率和吞吐量整体趋势比较稳定。随着Vuser数量的减少,每秒点击率和吞吐量整体趋势并不是持续减少的。这说明在系统运行时,系统资源有可能有瓶颈。
(二)关联技术
关联技术,是将分析图中异常的曲线段与其它分析图中的指标关联,找出对该异常曲线最可能构成影响的指标。本文选取平均响应时间较大的曲线段与系统资源指标关联。如下图:
从关联图中选取关联度比较大的指标进行分析,它们很可能与曲线的异常有关。从图可以看出CPU的每秒中断率关联度大,CPU可能是软件系统的瓶颈,CPU的利用率平均85.926%,最高100%,超出了可以接受的临界值,建议更换好的CPU。
(三)页面细分技术
页面细分技术,是最常用的分析技术。通过该技术可以查看各组件的响应时间以及每个组件在服务端处理时间和网络上的传送时间。
如上图所示,在download Time Breakdown视图中可以看到该事务相关页面包含的组件以及组件运行所花费的时间。其中archFormBg.gif组件只有0.437KB,却用了4.76s,并且开始连接时还有出错信息,需与开发人员沟通该组件可能有的问题。
如上图所示,在Time to First Buffer Breakdown(Over Time)视图查看每个组件在服务端(深色)和网络(浅色)花费的时间,从而可以得出组件响应时间过长是由服务器引起的还是由网络传输引起的。从图上可看出影响组件响应时间过长由服务器处理能力不足造成的。
(四)分析技术小结
一般情况下,结合着以上三种技术和状态图可对测试结果有较好的分析。通过合并技术查看状态图间的关系,从而分析出状态图的走势是否正常。将异常曲线段和某些指标关联,找出引起曲线段异常可能的影响指标。利用页面细分技术,查看页面中响应时间过长的组件以及引起相应时间过长的原因。
五、案例测试结论
从测试中可看出该业务操作支持的最大并发用户数是14个,无法满足需求中规定的30个用户并发。从结果分析可得出:造成响应时间过长是由服务器处理能力不足造成的,建议提升服务器CPU等配置,以提高系统的吞吐量,从而可以支持更多的用户同时访问。
【关键词】Loadrunner 性能测试 Analysis 软件测试 测试案例
一、SugarCRM系统介绍
SugarCRM系统是由Sugar公司基于Linux+Apache+MySql+PHP平台开发的新一代B/S架构客户关系管理系统,主要包括客户关系管理、销售自动化、客户服务跟踪等模块。本案例按照客户需求对客户管理模块进行了并发性和响应时间测试。
二、Loadrunner的工作流程
Loadrunner由三大组件组成,通过这三大组件的协作去完成性能测试,它们分别为虚拟用户发生器(VuGen)、控制器(Controller)和分析器(Analysis)。Loadrunner工作流程如下:
(一)通過VuGen生成脚本,强化脚本并调试脚本。
(二)通过Controller设计场景,执行场景,同时监控场景。
(三)通过Analysis分析结果,并得出测试报告。
三、案例的测试需求与测试执行
本文选取SugarCRM系统中客户管理业务流程中大数据提交操作的性能测试作为研究案例,该性能测试要求:系统处理提交数据的响应时间最大不超过15s,至少可以支持30个用户并发操作。
脚本与场景按照需求设计好后,执行30个用户并发操作的响应时间为29.586s,超出了预期的最大值15s。然后,多次减少并发用户数去重复测试,得出系统可支持的最大并发用户数为14个,此时的响应时间为14.902s,而当并发用户数为15个时,响应时间为15.932s。
四、测试结果分析
利用Analysis的技术去分析软件系统可能存在的问题,Analysis常用的技术有:合并、关联、页面细分等。下面我们使用这几种方法去分析30个用户并发的结果。
(一)合并技术
合并技术,即将几个分析图合并的技术。通过该技术可从多角度去度量测试结果。在该案例中,将“正在运行的用户图”,“每秒点击数图”和“吞吐量图”合并,如下图:
从上图看出,随着Vuser数量的增加,每秒点击数和吞吐量整体趋势并不是持续增加的。Vuser数量稳定时,每秒点击率和吞吐量整体趋势比较稳定。随着Vuser数量的减少,每秒点击率和吞吐量整体趋势并不是持续减少的。这说明在系统运行时,系统资源有可能有瓶颈。
(二)关联技术
关联技术,是将分析图中异常的曲线段与其它分析图中的指标关联,找出对该异常曲线最可能构成影响的指标。本文选取平均响应时间较大的曲线段与系统资源指标关联。如下图:
从关联图中选取关联度比较大的指标进行分析,它们很可能与曲线的异常有关。从图可以看出CPU的每秒中断率关联度大,CPU可能是软件系统的瓶颈,CPU的利用率平均85.926%,最高100%,超出了可以接受的临界值,建议更换好的CPU。
(三)页面细分技术
页面细分技术,是最常用的分析技术。通过该技术可以查看各组件的响应时间以及每个组件在服务端处理时间和网络上的传送时间。
如上图所示,在download Time Breakdown视图中可以看到该事务相关页面包含的组件以及组件运行所花费的时间。其中archFormBg.gif组件只有0.437KB,却用了4.76s,并且开始连接时还有出错信息,需与开发人员沟通该组件可能有的问题。
如上图所示,在Time to First Buffer Breakdown(Over Time)视图查看每个组件在服务端(深色)和网络(浅色)花费的时间,从而可以得出组件响应时间过长是由服务器引起的还是由网络传输引起的。从图上可看出影响组件响应时间过长由服务器处理能力不足造成的。
(四)分析技术小结
一般情况下,结合着以上三种技术和状态图可对测试结果有较好的分析。通过合并技术查看状态图间的关系,从而分析出状态图的走势是否正常。将异常曲线段和某些指标关联,找出引起曲线段异常可能的影响指标。利用页面细分技术,查看页面中响应时间过长的组件以及引起相应时间过长的原因。
五、案例测试结论
从测试中可看出该业务操作支持的最大并发用户数是14个,无法满足需求中规定的30个用户并发。从结果分析可得出:造成响应时间过长是由服务器处理能力不足造成的,建议提升服务器CPU等配置,以提高系统的吞吐量,从而可以支持更多的用户同时访问。