本文共 1666 字,大约阅读时间需要 5 分钟。
性能分析一直是个难题,但是我却以为,难在设计与执行上。 本文是正在编写的《LoadRunner性能测试实战》第五章的引子。 在第五章中,我想避开工具,专门探讨性能测试分析,以期把这个问题讨论的更明白。因此放些内容供大家讨论。本章正在编写中……。
当测试场景执行完成后,很多测试工程师认为最困难的阶段到来了——性能测试结果分析。因此,本章似乎很自然地成为了几乎最重要的一章。但是作者一直认为性能测试分析不是最难的工作。“万丈高楼平地起”,性能分析同样依赖于前面的设计与实施等这些“地基”是否可靠。可以说,性能测试分析仅仅是百米赛跑的最后 二十米 而已。当然,这并不是说性能测试分析并不重要,因为“最后的 二十米 没有跑好”,前面的工作做的再好结果也是徒劳的。不难理解,性能测试分析工作开展的根基就是前面测试场景执行的测试结果数据。要想保证性能测试分析的结论是正确的,则测试结果数据就应该是正确的,而这也意味着测试场景以及测试执行过程都应该是正确的。
实际上,性能测试从始至终都应该是相当严谨的一项工程,各个阶段的工作环环相扣,性能测试工程师应该认真对待各个阶段的工作。如果一味地追求找出系统瓶颈,无疑是舍本逐末的做法。
本章如果脱离实际应用或者拿出某些孤立的测试结果来讲解LoadRunner的Analysis如何使用,相信很多读者将一头雾水,仍然不能解决实际问题。因此,本章首先结合案例来讲解如何分析性能测试结果,然后再探讨Analysis的具体使用细节,这也是本章不同于第三、第四章的地方。
本章主要内容如下:
l Analysis性能分析基础
l 如何分析一些典型分析图
l 借助案例讲解性能测试分析流程
在Controller中执行的测试场景结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都需要反复迭代地进行测试,因此很多测试结果本身就不能反应问题,深入分析这样的结果纯属浪费时间。在本书中,主要探讨针对有效的测试结果数据如何进行分析的过程。
判断测试结果是否有效通常按下面的步骤来进行:
第一步:在整个测试场景执行过程中,测试环境是否正常。如果测试过程发生一些异常,这样的结果往往不准确,更不需要分析。
例如在测试执行过程中,测试机的CPU利用率经常达到100%、测试环境的网络不稳定、一些系统参数配置不正确等等,这样的测试结果没有必要分析,应该重新设置测试场景或者调整测试环境再次执行测试。
第二步:测试场景的设置是否正确、合理。测试场景的设置是否正确对测试结果有很大的影响。因此当一次测试结束后,需要分析一下是不是场景设置不正确引起。
一些新手使用Controller执行测试时,可能会同时在一台PC上加载全部虚拟用户——例如同时加载1000个虚拟用户,如果客户端来不及处理,就会有些虚拟用户因不能初始化而失败——而这些失败根本不是要测试的应用服务器不能处理,而是压力根本没有传导过去。本例正确的做法是增加更多的负载发生器Generator或者逐步加压,进行不断的尝试来使测试场景运行起来。
第三步:测试结果是否暴露出系统的一些问题。对于整个测试场景执行过程中,系统一切正常的结果没有必要进行分析,因为这样的结果不能反映出系统的性能问题,应该进一步调整场景(比如增大压力)进行测试。而对于在测试过程中,使系统表现不正常的测试场景生成的结果则要进行深入地分析。实际上,分析能反映性能问题的测试结果才是性能分析阶段要做的主要工作,
测试结果暴露系统问题的情形很多,例如在测试过程中一些用户事务响应时间过大、系统支持的最大并发用户数过低、系统的应用服务器CPU利用率过高或者内存不足等。对于这类测试结果,性能测试人员就要开始借助Analysis对性能测试结果进行深入地分析,以发现一些潜在的性能问题。
本节先介绍性能测试分析的基础知识,然后介绍 LoadRunner Analysis 的基础知识,最好结合案例介绍如何找出并解决系统的性能问题。
转载地址:http://xtaoi.baihongyu.com/