《web项目测试实战性能测试结果分析样章16152.docx》由会员分享,可在线阅读,更多相关《web项目测试实战性能测试结果分析样章16152.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、5.4.2测试结果分析LoadRRunneer性能测测试结果分分析是个复复杂的过程程,通常可可以从结果果摘要、并并发数、平平均事务响响应时间、每每秒点击数数、业务成成功率、系系统资源、网网页细分图图、Webb服务器资资源、数据据库服务器器资源等几几个方面分分析,如图5- 1所示。性性能测试结结果分析的的一个重要要的原则是是以性能测测试的需求求指标为导导向。我们们回顾一下下本次性能能测试的目目的,正如如Error! Reference source not found. 所列的的指标,本本次测试的的要求是验验证在300分钟内完完成20000次用户户登录系统统,然后进进行考勤业业务,最后后退出,在
2、在业务操作作过程中页页面的响应应时间不超超过3秒,并并且服务器器的CPUU使用率、内内存使用率率分别不超超过75%、70%,那么按按照所示的的流程,我我们开始分分析,看看看本次测试试是否达到到了预期的的性能指标标,其中又又有哪些性性能隐患,该该如何解决决。图5- 1性能测试试结果分析析流程图结果摘要LoadRRunneer进行场场景测试结结果收集后后,首先显显示的该结结果的一个个摘要信息息,如图5- 2所示。概概要中列出出了场景执执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summ
3、ary(HTTP响应摘要)”等。以简要的信息列出本次测试结果。图5- 2性能测试试结果摘要要图场景执行情情况该部分给出出了本次测测试场景的的名称、结结果存放路路径及场景景的持续时时间,如图5- 3所示。从从该图我们们知道,本本次测试从从15:558:400开始,到到16:229:422结束,共共历时311分2秒。与与我们场景景执行计划划中设计的的时间基本本吻合。图5- 3场景执行行情况描述述图Statiisticcs Suummarry(统计计信息摘要要)该部分给出出了场景执执行结束后后并发数、总总吞吐量、平平均每秒吞吞吐量、总总请求数、平平均每秒请请求数的统统计值,如如图5- 4所示。从从该
4、图我们们得知,本本次测试运运行的最大大并发数为为7,总吞吞吐量为8842,0037,4409字节节,平均每每秒的吞吐吐量为4551,9779字节,总总的请求数数为2111,9744,平均每每秒的请求求为1133.7811,对于吞吞吐量,单单位时间内内吞吐量越越大,说明明服务器的的处理能越越好,而请请求数仅表表示客户端端向服务器器发出的请请求数,与与吞吐量一一般是成正正比关系。图5- 4统计信息息摘要图Transsactiion SSummaary(事事务摘要)该部分给出出了场景执执行结束后后相关Acctionn的平均响响应时间、通通过率等情情况,如图5- 5所示。从从该图我们们得到每个个Act
5、iion的平平均响应时时间与业务务成功率。注意:因为在场景景的“Run-timee Setttinggs”的“Misccellaaneouus”选项中将将每一个AActioon当成了了一个事务务执行,故故这里的事事务其实就就是脚本中中的Acttion。图5- 5事务摘要要图HTTP Respponsees Suummarry(HTTTP响应应摘要)该部分显示示在场景执执行过程中中,每次HHTTP请请求发出去去的状态,是是成功还是是失败,都都在这里体体现,如图5- 6所示。从从图中可以以看到,在在本次测试试过程中LLoadRRunneer共模拟拟发出了22119774次请求求(与“统计信息息摘要
6、”中的“Totaal Hiits”一致),其其中“HTTPP 2000”的是20098111次,而“HTTPP 4044”则有21163,说说明在本次次过程中,经经过发出的的请求大部部分都能正正确响应了了,但还是是有部分失失败了,但但未影响测测试结果,“HTTP 200”表示请求被正确响应,而“HTTP 404”表示文件或者目录未能找到。有朋友可能会问,这里出现了404的错误,为什么结果还都通过了。出现这样问题的原因是脚本有些页面的请求内容并非关键点,比如可能请求先前的cookie信息,如果没有就重新获取,所以不会影响最终的测试结果。图5- 6 HTTTP响应摘摘要常用的HTTTP状态态代码如
7、下下:400 无无法解析此此请求。 401.11 未经授授权:访问问由于凭据据无效被拒拒绝。 401.22 未经授授权: 访访问由于服服务器配置置倾向使用用替代身份份验证方法法而被拒绝绝。 401.33 未经授授权:访问问由于 AACL 对对所请求资资源的设置置被拒绝。 401.44 未经授授权:Weeb 服务务器上安装装的筛选器器授权失败败。 401.55 未经授授权:ISSAPI/CGI 应用程序序授权失败败。 401.77 未经授授权:由于于 Webb 服务器器上的 UURL 授授权策略而而拒绝访问问。 403 禁禁止访问:访问被拒拒绝。 403.11 禁止访访问:执行行访问被拒拒绝。
8、403.22 禁止访访问:读取取访问被拒拒绝。 403.33 禁止访访问:写入入访问被拒拒绝。 403.44 禁止访访问:需要要使用 SSSL 查查看该资源源。 403.55 禁止访访问:需要要使用 SSSL 1128 查查看该资源源。 403.66 禁止访访问:客户户端的 IIP 地址址被拒绝。 403.77 禁止访访问:需要要 SSLL 客户端端证书。 403.88 禁止访访问:客户户端的 DDNS 名名称被拒绝绝。 403.99 禁止访访问:太多多客户端试试图连接到到 Webb 服务器器。 403.110 禁止止访问:WWeb 服服务器配置置为拒绝执执行访问。 403.111 禁止止访问
9、:密密码已更改改。 403.112 禁止止访问:服服务器证书书映射器拒拒绝了客户户端证书访访问。 403.113 禁止止访问:客客户端证书书已在 WWeb 服服务器上吊吊销。 403.114 禁止止访问:在在 Webb 服务器器上已拒绝绝目录列表表。 403.115 禁止止访问:WWeb 服服务器已超超过客户端端访问许可可证限制。 403.116 禁止止访问:客客户端证书书格式错误误或未被 Web 服务器信信任。 403.117 禁止止访问:客客户端证书书已经到期期或者尚未未生效。 403.118 禁止止访问:无无法在当前前应用程序序池中执行行请求的 URL。 403.119 禁止止访问:无无
10、法在该应应用程序池池中为客户户端执行 CGI。 403.220 禁止止访问:PPasspport 登录失败败。 404 找找不到文件件或目录。 404.11 文件或或目录未找找到:网站站无法在所所请求的端端口访问。 需要注意的的是4044.1错误误只会出现现在具有多多个IP地地址的计算算机上。如如果在特定定IP地址址/端口组组合上收到到客户端请请求,而且且没有将IIP地址配配置为在该该特定的端端口上侦听听,则IIIS返回 404.1 HTTTP错误误。例如,如如果一台计计算机有两两个IP地地址,而只只将其中一一个IP地地址配置为为在端口880上侦听听,则另一一个IP地地址从端口口80收到到的任
11、何请请求都将导导致IISS返回4004.1错错误。只应应在此服务务级别设置置该错误,因因为只有当当服务器上上使用多个个IP地址址时才会将将它返回给给客户端。 404.22 文件或或目录无法法找到:锁锁定策略禁禁止该请求求。 404.33 文件或或目录无法法找到:MMIME 映射策略略禁止该请请求。 405 用用于访问该该页的 HHTTP 动作未被被许可。 406 客客户端浏览览器不接受受所请求页页面的 MMIME 类型。 407 WWeb 服服务器需要要初始的代代理验证。 410 文文件已删除除。 412 客客户端设置置的前提条条件在 WWeb 服服务器上评评估时失败败。 414 请请求 UR
12、RL 太大大,因此在在 Webb 服务器器上不接受受该 URRL。 500 服服务器内部部错误。 500.111 服务务器错误:Web 服务器上上的应用程程序正在关关闭。 500.112 服务务器错误:Web 服务器上上的应用程程序正在重重新启动。 500.113 服务务器错误:Web 服务器太太忙。 500.114 服务务器错误:服务器上上的无效应应用程序配配置。 500.115 服务务器错误:不允许直直接请求 GLOBBAL.AASA。 500.116 服务务器错误:UNC 授权凭据据不正确。 500.117 服务务器错误:URL 授权存储储无法找到到。 500.118 服务务器错误:UR
13、L 授权存储储无法打开开。 500.119 服务务器错误:该文件的的数据在配配置数据库库中配置不不正确。 500.220 服务务器错误:URL 授权域无无法找到。 500 1100 内内部服务器器错误:AASP 错错误。 501 标标题值指定定的配置没没有执行。 502 WWeb 服服务器作为为网关或代代理服务器器时收到无无效的响应应。并发数分析析“Runnning Vuseers(运运行的并发发数)”显示了在在场景执行行过程中并并发数的执执行情况。它它们显示VVuserr的状态、完完成脚本的的Vuseer的数量量以及集合合统计信息息,将这些图图与事务图图结合使用用可以确定定Vuseer的数量
14、量对事务响响应时间产产生的影响响。图5- 7显示了在在OA系统统考勤业务务性能测试试过程中VVuserrs运行情情况,从图图中我们可可以看到,VVuserrs的运行行趋势与我我们场景执执行计划中中的设置是是一样,表表明在场景景执行过程程中,Vuuserss是按照我我们预期的的设置运行行的,没有有Vuseer出现运运行错误,这这样从另一一个侧面说说明我们的的参数化设设置是正确确的,因为为使用唯一一数进行参参数化设置置,如果设设置不正确确,将会导导致Vusser运行行错误。在在脚本中我我们加入了了这样一段段代码:if (aatoi(lr_eeval_striing(numm) 00) lr_out
15、pput_mmessaage(登录成功功,继续执执行.); eelse lr_erroor_meessagge(登登录失败,退退出测试); retturn -1; 上述代码的的意思是说说,如果登登录失败了了,就退出出脚本的迭迭代,那么么什么原因因可能会导导致登录失失败呢?就就是我们前前面参数化化的设置,一一旦Vusser分配配不到正确确的登录账账号,就可可能导致登登录失败,从从而引起VVuserr停止运行行。所以,从从图5- 7的表现,可可以认为参参数化是没没有问题的的。图5- 7运行的并并发数图测试脚本中中我们还使使用了集合合点,那么么这里还可可以看看集集合点在场场景执行过过程中的表表现,点
16、击击左边的“New Grapph”,出现Error! Reference source not found.,展开“Vuseers”前的加号号,双击“Renddezvoous”,出现集集合点的图图形后,点点击【Cllose】,关关闭添加新新图界面。图5- 8添加集合合点统计图图集合点的图图形如图5- 9所示,从从图中可以以看到,所所有用户到到达集合点点后,立刻刻就释放了了。与之前前设定的集集合点策略略设置“所有运行行用户到达达后释放“是一致的的。假设这这样的一种种情况,RRunniing的VVuserrs有100个,集合合点策略设设置是“所有运行行用户到达达后释放”,而集合合点图形显显示的最大
17、大释放Vuuserss是7个,那那么就表示示有些Vuuser超超时了,引引起超时的的原因可能能是Vusser得到到的响应超超时了,可可以结合平平均事务响响应时间再再详细分析析原因。图5- 9集合点状状态图我们本次测测试Runnningg Vussers与与集合点是是一致,说说明整个场场景执行过过程中,并并发数用户户的执行正正确,OAA系统测试试服务器能能够应付77个并发用用户的业务务操作。响应时间在性能测试试要求中我我们知道,有有一项指标标是要求登登录、考勤勤业务操作作的页面响响应时间不不超过3秒秒,那么本本次测试是是否达到了了这个要求求呢?我们们先来看“Averrage Trannsactt
18、ion Respponsee Timme(平均均事务响应应时间图)”(图5- 10),这张图是平均事务响应时间与结果摘要中的“Transaction Summary”合成的。图5- 10平均事事务响应时时间图从图形下部部我们可以以看到,登登录部分对对应的Acctionn是“submmit_lloginn”,考勤业业务提交对对应的Acctionn是“submmit_ssign”,他们的的“Averrage Timee(平均响响应时间为为)”分别是44.4255秒与0.848秒秒,从这两两个数值来来看,考勤勤业务的事事务响应时时间0.8848秒小小于预期的的3秒,达达到了要求求,而登录录是4.44
19、25秒,大大于预期的的3秒,不不符合要求求。这样的的结果是不不正确的,因因为在统计计的登录业业务的时候候,我们没没有去除思思考时间,所所以,登录录功能的实实际事务时时间应该是是4.4225秒-33秒=1.425秒秒,小于预预期的3秒秒,故登录录业务的事事务响应时时间也达到到了我们的的要求。在在平时的性性能测试活活动中,统统计结果的的时候需要要去掉思考考时间,加加上思考时时间是为了了真实的模模拟用户环环境,统计计结果中除除去思考时时间是为了了更真实的的反映服务务器的处理理能力,两两者并不矛矛盾。看完了“AAveraage TTime”,我们再再看“90 PPerceent TTime”,这个时时
20、间从某种种程度来说说,更准确确衡量了测测试过程中中各个事务务的真实情情况,表示示90%的的事务,服服务器的响响应都维持持在某个值值附近,“Averrage Timee”值对于平平均事务响响应时间变变动趋势很很大的情况况统计就不不准确了,比比如有三个个时间:11秒、5秒秒、12秒秒,则平均均时间为66秒,而另另外一种情情况:5秒秒、6秒、77秒,平均均时间也为为6秒,显显然第二种种比第一种种要稳定多多了。所以以,我们在在查看平均均事务响应应时间的时时候,先看看整体曲线线走势,如如果整体趋趋势比较平平滑,没有有忽上忽下下的波动情情况,取“Averrage Timee”与“90 PPerceent
21、TTime”都可以,如如果整体趋趋势毫无规规律,波动动非常大,我我们就不用用“Averrage Timee”而使用“90 PPerceent TTime”可能更真真实些。从图5- 10可以看看出,所有有Actiion平均均事务响应应时间的趋趋势都非常常平滑,所所以使用“Averrage Timee”与“90 PPerceent TTime”差别不是是很大,用用哪个都可可以。这里里是使用最最常用的统统计方法“90 PPerceent TTime”。登录业业务的“90 PPerceent TTime”是5.2298秒-3秒(思思考时间)=2.2998秒,考考勤业务的的“90 PPerceent T
22、Time”是1.4469秒,没没有思考时时间,那么么就是实打打实的啦。根根据上面的的计算,本本次测试结结果记录如如表5- 1所示。测试项目标值实际值是否通过登录业务响响应时间=3秒2.2988秒Y考勤业务响响应时间=3秒1.4699秒Y登录业务成成功率100%考勤业务成成功率100%登录业务总总数30分钟完完成20000考勤业务总总数30分钟完完成20000CPU使用用率75%内存使用率率70%表5- 1测试结果果对照表一一每秒点击数数“Hitss perr Seccond(每每秒点击数数)”反映了客客户端每秒秒钟向服务务器端提交交的请求数数量,如果果客户端发发出的请求求数量越多多,与之相相对
23、的“Averrage Throoughpput (bytees/seecondd)”也应该越越大,并且且发出的请请求越多会会对平均事事务响应时时间造成影影响,所以以在测试过过程中往往往将这三者者结合起来来分析。图5- 11显示的的是“Hitss perr Seccond”与“Averrage Throoughpput (bytees/seecondd)”的复合图图,从图中中可以看出出,两种图图形的曲线线都正常并并且基本一一致,说明明服务器能能及时的接接受客户端端的请求,并并能够返回回结果。如如果“Hitss perr Seccond”正常,而而“Averrage Throoughpput (b
24、ytees/seecondd)”不正常,则则表示服务务器虽然能能够接受服服务器的请请求,但返返回结果较较慢,可能能是程序处处理缓慢。如如果“Hitss perr Seccond”不正常,则则说明客户户端存在问问题,那种种问题一般般是网络引引起的,或或者录制的的脚本有问问题,未能能正确的模模拟用户的的行为。具具体问题具具体分析,这这里仅给出出一些建议议。图5- 11每秒点点击数与每每秒吞吐量量复合图对于本次测测试来说,“Hits per Second”与“Average Throughput (bytes/second)”都是正常的,而且整体表现还是不错的。一般情况下下,这两种种指标用于于性能调
25、优优,比如给给定了几个个条件,去去检测另外外一个条件件,用这两两个指标衡衡量,往往往起到很好好的效果。比比如要比较较某两种硬硬件平台的的优劣,就就可以使用用相同的配配置方法部部署软件系系统,然后后使用相同同的脚本、场场景设计、统统计方法去去分析,最最终得出一一个较优的的配置。业务成功率率“业务成功功率”这个指标标在很多系系统中都提提及到,比比如电信的的、金融的的、企业资资源管理的的等等。举举个例子,我我们楼下的的建行,假假如每天的的业务类别别是这样的的:20个个开户,55个销户,3300个存存款,5000取款,1100个汇汇款等,那那么在做他他们的营业业系统测试试时就需要要考虑业务务成功率了了
26、,一般不不得低于998%。具具体的业务务成功率是是什么意思思呢?排除那些复复杂的业务务,比如异异步处理的的业务(移移动的套卡卡开通就是是异步的),业业务成功率率就是事务务成功率,用用户一般把把一个Accitonn当做一笔笔业务,在在LoaddRunnner场景景执行中一一笔交易称称为一个事事务。所以以,说业务务成功率其其实就是事事务成功率率、通过率率的意思。在在“Trannsacttion Summmary”中我们可可以很明确确的看到每每个事务的的执行状态态,如图5- 12所示。图5- 12事务状状态统计图图从图中可以以看出,所所有的Accitonn都是绿色色的,即表表示为Paassedd,同
27、时除除了vusser_iinit与与vuseer_ennd两个事事务,其他他的事务通通过数为22163,也也就表明在在30分钟钟的时间里里,共完成成了21663次登录录考勤业务务操作。那那么根据这这些可以判判断本次测测试登录业业务与考勤勤业务的成成功率是1100%,再再次更新测测试结果记记录表如表5- 2所示。测试项目标值实际值是否通过登录业务响响应时间=3秒2.2988秒Y考勤业务响响应时间=3秒1.4699秒Y登录业务成成功率100%100%Y考勤业务成成功率100%100%Y登录业务总总数30分钟完完成200002163Y考勤业务总总数30分钟完完成200002163YCPU使用用率75
28、%内存使用率率70%表5- 2测试结果果对照表二二系统资源系统资源图图显示了在在场景执行行过程中被被监控的机机器系统资资源使用情情况,一般般情况下监监控机器的的CPU、内内存、网络络、磁盘等等各个方面面。本次测测试监控的的是测试服服务器的CCPU使用用率与内存存使用率,以以及处理器器队列长度度,具体的的数据如图5- 13所示。图5- 13测试服服务器系统统资源监控控结果图从图中可以以看出,CCPU使用用率、可用用物理内存存、CPUU的队列长长度三个指指标的曲线线逗较为平平滑,三者者的平均值值分别为:53.5582%、83.456M、8.45,而测试服务器总的物理内存为384M,那么内存使用率为
29、(384-83.456)/384=78.26%,根据本次性能测试要求的:CPU使用率不超过75%,物理内存使用率不超过70%这两点来看,内存的使用率78.26%大于预期的70%,故内存使用率不达标。根据Windwos资源性能指标的解释,一般情况下,如果“Processor Queue Length(处理器队列长度)”一直超过二,则可能表示处理器堵塞,我们这里监控出来的数值是8.45,而且总体上保持平衡,那么由此推断,测试服务器的CPU也可能是个瓶颈。同时在测试过程中,场景执行到23分半钟的时候,报出了Error! Reference source not found.的错误,意思是说被监控的服
30、务器当前无法再进行计数器数据的获取了,所以,本次操作系统资源的监控只得到了场景执行的前23分半钟的数据。这样对本次测试结果有一定的影响。获得上述数数据后,最最新的测试试结果记录录表如表5- 3所示。测试项目标值实际值是否通过登录业务响响应时间=3秒2.2988秒Y考勤业务响响应时间=3秒1.4699秒Y登录业务成成功率100%100%Y考勤业务成成功率100%100%Y登录业务总总数30分钟完完成200002163Y考勤业务总总数30分钟完完成200002163YCPU使用用率75%53.5882%Y内存使用率率SOFFTWARRE-Apacche SSoftwware Founndatiio
31、n-Proocesss Runnner 1.0-Toomcatt5-Paraameteers”修改两个属属性,一个个是JvmmMs,另另外一个是是JvmMMx,如图5- 18所示。2、 检查程序代代码,使用用一些内存存泄露检查查工具进行行清查。 图5- 18修改TTocatt的JVMM数据数据库服务务器资源数据库服务务器资源监监控相对来来说就复杂杂的多了,现现在常用的的数据有MMysqll、SQLL Serrver、OOraclle、DBB2等,LLoadRRunneer提供对对后面几种种数据库的的监控方法法,但对MMysqll没有提供供对应的监监控方法。他他不提供,咱咱们就自己己找监控工工具
32、,我这这里使用的的是Spootligght,该该工具监控控数据库的的好处是配配置连接简简单,不仅仅能监控数数据库,还还能监控操操作系统的的资源,监监控结果直直观明了。Error! Reference source not found.显示了Mysql数据库在场景执行过程中SQL语句的执行情况,从图中可以看到,“Selects(查询)”与“Inserts(插入)”两种语句执行的趋势在场景执行过程中是比较平滑,并且测试中没有错误发现,也就说明在处理相关业务时Mysql的处理是正常的。假如这两种SQL语句任何一个出现波动很大的情况,就可以推出在场景执行过程中存在页面错误,因为这些语句不执行,就表明某些页面未被加载或者某些功能未被使用。在本次测试中,OA系统的“oa.jsp”页面有大量的“Selects(查询)”语句,而考勤操作则是“Inserts(插入)”,所以,只要有一方出问题,必然表示测试过程中存在页面打不开或者考勤不成功的错误。通过前面的的分析,在在查看Error! Reference source not found.中的SQL语句执行状态,本次测试在页面访问、功能执行方面是没有问题的。