实时分析
实时分析是很麻烦的,我们称之为“密切观察(watchful waiting)”。在实时分析过程中,你实际上就是在测试执行过程中等待事件的发生,或者直到测试结束的时候什么情况都没有发生。如果测试
过程恰好有问题发生了,你的关键性能指标监控工具应该报告应用程序中问题的位置。如果性能测试工具支持事件通知,你就可以配置成让系统在开始偏离KPI监控标准的时候发出警告。
技巧
“密切观察(watchful waiting)”是一个医学术语,通常用于恶性疾病的观察。通常,最坏的情况是,你得忍受这种无聊,甚至可能会感冒,因为你常常要在温度很低的空调机房下一坐就是几个小时(数据中心的设计通常不太人性化)。
当你无聊地坐在那儿,你期望在性能测试执行过程中看到些什么呢?答案很明显,你所能看到的都要依赖于性能测试工具的能力。一个普遍的规则是:一分钱一分货。花的钱越多,所得到的测试工具的分析结果的能力就越强。但是通过工具,我们至少应该能够看到如下信息:
- 性能测试中每个事务的响应时间,并且能够以图表和图形两种方式展现。这些数据应该包括完整的事务,也应该包含事务的任何组成部分,这些组成部分是为了分析需要被分别标记出来的。这样响应时间可能就会包括完成登录所花费的时间以及完成一个搜索所花费的时间。
- 必须能够监控每个脚本所分配的用户数以及测试全过程中所分配的用户总数。从这些信息中,您可以看到应用程序在应对用户负载增长和事务吞吐量增长时的直接反应。必须能够监控所有负载生成器,以便能够检查负载生成器是否过载。
- 需要监控与任何已经作为性能测试一部分的服务器、应用服务器以及网络KPI所有相关数据。这有可能需要整合使用其他监控软件,除非您使用了一个商业性能测试解决方案而不仅仅是使用了一个性能测试工具。
- 有一个能够配置性能测试阈值的图形界面和发生错误时的指示器。
- 一个显示测试执行过程中所发生错误信息的图形界面。这些错误信息包括发生时间、受影响的虚拟用户、错误说明以及如何改正错误状态的可行性的建议。
测试完成后数据分析
所有在测试过程中收集到的相关性能信息应该在测试分析阶段都是可用的,这些信息可能被存储到数据库中,或者以一个简单的文件形式存储。存储的方式并不是特别重要,只要你没有丢失这些数据,并且保证这些数据可以让性能测试团队很容易访问到就可以,最起码,对已获取到的实时监控数据必须可以得到。最理想的是,测试工具能够提供附加信息,例如虚拟用户所发生的错误,以及对错误信息的分析。
这是使用自动化性能测试工具的一个巨大优势:每一次测试中的输出数据都被存储起来,以供将来分析。这就意味着,你可以很容易地比较两组或多组测试结果,并显示其中的不同之处。实际上,很多测试工具都会提供一个模板,可以让你预先在该模板上自定义一些你需要进行对比的视图。
测试后分析与实时分析一样,要求性能测试工具的主要能力是如何比较容易地解析所记录到的信息。价格便宜的工具和免费工具最大的弱点就是测试结果的分析和诊断(事实上,这类工具大多数根本就没有测试结果分析和诊断)。
确认您使用什么样的文件记录一个特定性能测试执行的输出。当你进行了多次测试执行时,很容易会丢掉对重要数据的跟踪。