加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Analysis使用基础

(2011-05-30 14:51:50)
标签:

analysis

使用基础

杂谈

分类: 04性能测试

5.1.2  Analysis使用基础

在测试场景执行过程中,LoadRunner采集了虚拟用户、操作系统、应用服务器等各种运行数据,这些数据成为分析系统性能的重要参考资料。当测试场景运行结束后,就可以通过Analysis对这些测试结果进行专门的分析,以发现系统的潜在问题。

LoadRunner的Analysis是一个独立模块,本节将介绍它的主要功能以及基本使用方法。在后面的5.2节中,将详细介绍如何借助各类数据图表来分析系统的性能问题。

Analysis的基本功能及使用

启动Analysis有4种方式:在Controller启动场景前选中其菜单的“Run→Auto Load Analysis”;在Controller工具栏中点击第一个 clip_image001[6]图标;在Controller工具栏中点击第二个 clip_image001[7]图标;从开始菜单依次点击“Mercury LoadRunner→Applications→Analysis”。其中,前两种方式在打开Analysis后会自动分析当前场景的运行结果,后两种方式仅打开Analysis应用程序,需要手动选择测试结果文件来产生分析图。

在测试结束并完成测试结果数据收集后,就可以启动Analysis打开测试结果文件,将其导入Microsoft Access数据库,然后按照设置的模板打开默认的结果分析图。通常的分析器默认界面如图5-4所示。

利用Analysis进行分析的第一步是查看分析概要报告(Analysis Summary),图5-4中显示的即为分析概要报告。分析概要报告展示了场景运行的统计信息、事务响应时间概述、HTTP响应概述(对于Web测试)等。

在分析概要结果中,重点查看虚拟用户的运行情况和事务综述。对虚拟用户,主要查看最大并发用户数目;对事务综述,则要查看最大、最小、平均、“90%”事务最大响应时间、通过事务数量、失败事务数量等。

clip_image002[4]

图5-4  Analysis的默认分析概要界面

在图5-4所示的Analysis界面中,点击 clip_image003[4]将进入到图5-5所示的新的分析图界面,在这里可以查看Analysis提供的全部分析图。

从图5-5中可以看出,对于一个和Web相关的测试结果,Analysis主要提供了六大类分析图。下面简要介绍各类分析图的含义及用途。

clip_image004[4]

图5-5  打开新的分析图界面

虚拟用户(Vusers)图 虚拟用户图分为运行状态的虚拟用户图、虚拟用户概要图和集合点图3类。主要借助其查看场景与会话的虚拟用户行为。

Errors图  Errors图主要有错误统计、每秒错误数量两类。借助Errors图可以发现服务器什么时间发生错误以及错误的统计信息,可以分析服务器的处理能力。

事务(Transactions)图  Analysis和事务相关的分析图表有事务综述图、事务平均响应时间图、每秒通过事务数图、每秒通过事务总数图、事务性能摘要图、事务响应时间与负载分析图、事务响应时间(百分比)图、事务响应时间分布图等,通过这些图表可以很容易分析应用系统事务的执行情况。

Web资源(Web Resources)图  Web资源图主要有Web服务器的吞吐率图、点击率图、返回的HTTP状态代码图、每秒HTTP响应数图、每秒重试次数图、重试概述图、服务器连接数概要图、服务器每秒建立的连接数量图等。借助Web资源图,可以深入地分析服务器的性能。

网页细分(Web Page Breakdown)图 在Controller中启动网页细分功能后,才可以在Analysis中查看网页细分图,启动细分功能的具体步骤是:在Controller菜单中选择“Diagnostics→Distribution”进入图5-6所示的界面,在图5-6中同时选中“Enable the following diagnostics”和“Web Page Diagnostics(Max Allowed Distribution 10%)”复选框。

clip_image005[4]

图5-6  启动网页细分图功能

网页细分图主要有页面分解总图、页面组件细分图、页面组件分解(随时间变化)图、页面下载时间细分图、页面下载时间细分(随时间变化)图、第一次缓冲时间 细分图、第一次缓冲时间细分(随时间变化)图、已下载组件大小图。借助网页细分图可以分析页面元素是否影响事务响应时间。

系统资源(System Resources)图 系统资源图显示在场景运行期间,由联机监控获得的系统资源使用情况。要想获得系统资源图,必须预先指定相关的计数器。关于监控系统资源的方法,可以参考第3章的相关内容。

在5.4节中,我们将详细介绍如何查看各类具体的分析图。

如何看Analysis分析图

面对Analysis提供的几十个测试结果分析图,很多人会感到无所适从,不知如何入手。实际上,性能测试分析要求执行人员更加谨慎和细心,不能放过任何 一个缺陷,尤其要深入到系统内部来进行分析。同时,当分析结果时还应该借助Analysis以外的各种分析工具。例如,可以借助Oracle提供的监控与 分析工具,也可以借助WebLogic提供的监控与分析工具,要想尽一切办法来发现系统瓶颈。在 5.1.3节的案例中,Oracle自带的SQL分析功能对性能定位起了至关重要的作用。

下面介绍一些通用的性能测试分析流程。

第一步:从分析Summary的事务执行情况入手。

Summary主要是判定事务的响应时间与执行情况是否合理。如果发现问题,则需要做进一步分析。通常情况下,如果事务执行情况失败或响应时间过长等,都需要做深入分析。

下面是查看分析概要时的一些原则:

用户是否全部运行,最大运行并发用户数(Maximum Running Vusers)是否与场景设计的最大运行并发用户数一致。如果没有,则需要打开与虚拟用户相关的分析图,进一步分析虚拟用户不能正常运行的详细原因;

事务的平均响应时间、90%事务最大响应时间用户是否可以接受。如果事务响应时间过长,则要打开与事务相关的各类分析图,深入地分析事务的执行情况;

查看事务是否全部通过。如果有事务失败,则需要深入分析原因。很多时候,事务不能正常执行意味着系统出现了瓶颈;

如果一切正常,则本次测试没有必要进行深入分析,可以进行加大压力测试;

如果事务失败过多,则应该降低压力继续进行测试,使结果分析更容易进行;

……

上面这些原则都是分析Summary的一些常见方法,读者应该灵活使用并不断地进行总结与完善,尤其要注意结合实际情况,不能墨守成规。

第二步:查看负载发生器和服务器的系统资源情况。

查看分析概要后,接下来要查看负载发生器和待测服务器的系统资源使用情况:查看CPU的利用率和内存使用情况,尤其要注意查看是否存在内存泄漏问题。这样做是由于很多时候系统出现瓶颈的直接表现是CPU利用率过高或内存不足。

应该保证负载发生器在整个测试过程中其CPU、内存、带宽没有出现瓶颈,否则测试结果无效。而待测试服务器,则重点分析测试过程中CPU和内存是否出现了 瓶颈:CPU需要查看其利用率是否经常达到100%或平均利用率一直高居95%以上;内存需要查看是否够用以及测试过程是否存在溢出现象(对于一些中间件 服务器要查看其分配的内存是否够用)。

第三步:查看虚拟用户与事务的详细执行情况。

在前两步确定了测试场景的执行情况基本正常后,接下来就要查看虚拟用户与事务的执行情况。对于虚拟用户,主要查看在整个测试过程中是否运行正常,如果有较 多用户不能正常运行,则需要重新设计场景或调整用户加载与退出方式再次进行测试。对于事务,重点关注整个过程的事务响应时间是否逐渐变长以及是否存在不能 正常执行的事务。

总之,任何用户或事务的执行细节都应该认真分析,不可以轻易忽略。图5-7所示的就是一个性能逐步下降的服务器,需要进一步分析其性能下降的原因,例如查 找是否存在内存泄漏问题;图5-8则是一个性能相对稳定的服务器,但是响应时间偏大,这时需要分析程序算法是否存在缺陷或服务器参数的配置是否合理。

clip_image006[4]

图5-7  性能逐步下降的服务器

下面是虚拟用户与事务分析的常用准则:

虚拟用户如有失败,则要查明原因;

在整个测试过程中,所有的虚拟用户是否一直稳定运行并成功执行全部事务。如果仅有一个用户或部分用户能够正常运行,则说明测试脚本可能存在问题;

对于失败的事务首先要分析其失败原因,接着要查看事务的失败是否导致了用户失败;

判断用户是否可以接受事务平均响应时间值以及90%用户的最大响应时间值;

查看整个测试过程的事务平均响应时间是否逐步变大,正常情况下,事务平均响应时间的变化应该是接近于平行X轴的一条直线;

事务响应时间是否在整个测试过程中随着用户的增加而线性变短。正常情况应该是,当一定范围内的用户并发时,事务响应时间应不会有太大变化;

服务器每秒通过的事务总数、某一事务每秒通过数是否稳定,如果整个测试过程基本不变,则要分析是服务器达到了处理上限,还是Generator产生的压力达到了上限;

按照迭代次数来运行的场景,要分析通过的事务总数是否与设定的一致。如果不一致,则可能是测试脚本存在错误,也可能是待测试程序存在功能错误,应该在调整后再次进行测试;

……

clip_image007[4]

图5-8  性能稳定的服务器

Analysis对虚拟用户和事务提供了非常强大的跟踪功能,可以跟踪每一个用户及其相关事务的执行情况。这些内容可以在Analysis菜单“Reports→Crystal Report”下找到。这部分内容将在5.3节介绍。

第四步:查看错误发生情况。

整个测试过程的错误发生情况是分析的重点。下面查看错误发生情况的常用准则:

查看错误发生曲线在整个测试过程中是否有规律变化,如果是,则意味着程序在并发处理方面存在一定的缺陷。如图5-9所示的每秒缺陷数量曲线很有规律,这是因为服务器定期生成缓存文件导致用户不能正常访问而产生的错误;

clip_image008[4]

图5-9  规律变化的每秒错误数曲线图

查看错误分类统计,作为优化系统的参考。例如Web性能测试,当出现瓶颈时往往需要查看服务器的错误统计信息结果:如果“超时错误”达到90%以上,可能需要提高硬件配置;如果有较多的“内部服务器错误”,则可能是程序方面存在问题。

第五步:查看Web资源与细分网页。

本步骤仅适用于Web性能测试。查看Web资源图时,往往需要结合前面对虚拟用户以及事务响应时间的分析结果,重点分析服务器的稳定性。对于网页细分功能 则应遵循如下原则:首先分析从用户发出请求到收到第一个缓冲为止,哪些环节比较耗时;其次找出页面中哪些组成部分对用户响应时间影响较大;在页面的性能问 题定位后,就可以采取相关的解决方案。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有