如果您对 IBM® Rational® Performance Tester 非常了解,那么您可以跳过此部分,如果您对它不了解,那么下面是一些介绍。Rational Performance Tester 是一个为测试 Web 应用程序设计的软件,它的功能是在部署之前捕获并更正性能问题。Rational Performance Tester 通过模拟并发用户的数量,产生一系列报告,这些报告被清晰的标志出来显示 Web 页面的性能、URL 和事务等信息,来帮助您在部署之前查明系统的瓶颈。
高级的特性包括在每一个用户组的行为和使用方式层面的详细测试调度安排。Rational Performance Tester 同时还提供了一种自动化的"数据池"特性,它可以改变每一个模拟用户使用的测试数据设置。使用一个集成了测试编辑器的浏览器窗口,您可以回顾在测试记录期间访问过的 Web 页面。除此之外,高级测试人员可以选择将自定义的 Java 代码插入到性能测试中,用来执行类似于高级数据分析和请求解析的操作。
这篇文章将会介绍一些 Rational Performance Tester V7.0 的特性。为了展示新特性,我们将会记录并执行一个简单的测试。
下面是 IBM Rational Performance Tester V7.0 中一些可用的特性概括介绍。它拥有很多的特性,我们将会详细的讨论其中的一些,剩余的将会概括性的介绍。这些特性在 Rational Performance Tester Help 中有概括性介绍。
Citrix Presentation Server 扩展允许您装载运行在 Citrix Metaframe Presentation Servers 上的测试窗口应用程序。您可以使用带有可选图形识别技术的窗口创建和改变事件来完成这个工作,从而同步用户输入数据和服务器输出数据。当您使用 Citrix 应用程序记录一个会话前,这个应用程序的行为必须是完全可复制的。应用程序必须经常在相同目录下以相同的顺序建立窗口和 GUI 元素。鼠标或者键盘事件必须显示相同的输出结果。
由于 Citrix 性能测试和 Citrix Presentation Server 客户端在一个非常低的层级(鼠标移动和点击)上进行交互,所以在记录后(例如移动测试元素,添加循环或者条件,或者插入新的序列)您对测试做的任何更改,都可以改变用户行为仿真的环境以及引起同步超时。当您编辑测试时,需要特别注意用户行为的环境。
除了 Citrix 之外,还有一些对 SAP 测试的支持。您可以在一个测试中使用类似于循环,条件和事务等的测试元素。您还可以在一个测试套件的选择点中插入一项记录。SAP 的确认点被增强为可以捕获任何 SAP GUI 的属性,并可以随意的针对一个预期数值做检查。此外,您还可以从一个 Web 接口(通过生成 SAP Web 构建)记录和回放 SAP 应用程序。
问题分析工具做以下三件事情。他们是:
您可以通过使用数据收集代理完成这个工作,这些代理存在于来自产品或者开发环境的用于捕获跟踪、监视或者日志数据的数据收集框架中。您还可以使用基于 Eclipse 的工具进行检视和代码及运行数据的分析,以及关联数据。
性能和问题分析工具可以帮助您找到并修复代码问题,这些问题可能引起分布式性能问题。它包含一些您熟悉的类似于 IBM® Performance Optimization Toolkit 等的工具,它们被封装在 Rational Performance Tester 中。下面描述的一些特性(例如,资源监控和响应时间分解)在这些工具中有详细的介绍。
资源监控数据由一序列在特定间隔期间的观察组成。您可以实时收集数据,或者您可以从 IBM® Tivoli Enterprise™ Monitoring Server 找回这些数据。除了响应时间分解数据之外,资源监控数据为您提供了一种更加完善的系统视图,它可以帮助您确定问题。下面是一些数据范例,您可以收集并分析它们:
这个特性提供了一种更加完善的系统视图,它可以帮助您隔离问题。您可以在测试(或者代理)时使用 IBM® Tivoli® Monitoring、Windows Performance Monitor 或者 UNIX® rstatd 监视器监控系统。您既可以使用 Eclipse Test & Performance Tools Platform (TPTP)阅读器,又可以使用 Rational Performance Tester performance 报告来观察资源监控器数据。
响应时间分解为您显示了系统的每一个部分在测试期间的时间所占用系统运行总时间的比重。响应时间分解视图和一个测试或者时间表的页面元素(URL)相关。这样您可以在任意 HTTP 页面元素的响应时间统计表中,察看在测试下系统每一个部分所花费的时间。您可以使用响应时间分解来做下列事情:
为了捕获响应时间分解数据,您必须在一个测试或者调度中启动它,然后配置将要捕获的数据的信息。数据收集框架(当您安装 Rational Performance Tester 工具时您应该会看到)收集响应时间分解数据。应用程序运行时的每一个您想要收集数据的主机,必须拥有数据收集框架并且将其运行)。除此之外,您还必须配置(或者工具)每一个应用程序服务器以便使用数据收集框架。
注释:启动响应时间分解收集功能,让整个性能日指标可以请求所需的内存数量,因此我们可以设定在何时何地启动它。
下面介绍的两个特性是我从 Rational Performance Tester 发布以来一直期待的特性。缺少 IP 混淆和对客户端数字证书的支持,限制了我使 用Rational Performance Tester 为一些类型应用程序类型进行性能测试。现在这两个特性已经包含在其中了。
Rational Performance Tester 现在拥有了 IP 混淆,一项我急需的特性。默认情况下,当您运行一个调度时,每一个虚拟用户都会拥有相同的 IP 地址。但是这在真实的生活中是不存在的。对于特定类型的应用程序来说,它可以影响负载如何分布,甚至影响应用程序的详细功能。拥有了这个特性后,您可以让每一个虚拟用户感受到好像只有他一人在使用主机。
要实现这个功能,您需要在主机上配置 IP 混淆,然后在调度中启动 IP 混淆功能。当您运行调度时,多个主机的网络流量会被显示。IP 混淆使您可以配置一个代理,在 HTTP 测试运行期间就好像负载是来自不同的 IP 地址。
数字证书是一个文件,它绑定了一个带识别码的公用密钥(一个用户或者一个组织)。可信的证书权威机构发布数字证书,它们被用来鉴别用户和组织访问 Web 站点,e-mail 服务器和其他安全系统的权限。一个证书存储是一个存档文件,它包含绝大部分数字证书,或者是由不同证书权威机构发布的证书。
使用Rational Performance Tester V7.0,您可以做:
它可以通过使用代理KeyTool命令行程序来建立数字证书存储及实现。数字证书让您针对服务器使用基于 SSL 的 HTTP 记录和运行测试,对于应用程序来说,它需要客户端的数字证书来验证用户身份。
最后,在 V7.0 中还有一些其它新特性:
让我们察看一个性能测试的简单的范例。您将会针对 BookPool.com 运行一个小型的负载程序(这个负载非常的小)。随着对范例的学习,您将会对新特性的细节有所了解。其余的特性将会一带而过。
按照下列步骤建立这个测试脚本。
bookpool
)反映了它的基本流程。 打开 Recorder,如图3所示。这个过程可能要花费几分钟时间。
图3:打开 Recorder
Software Testing
然后点击 Search 按钮,如图6所示。 注意在 V7.0 中的 Common Options 和 HTTP Options 都被标志在了 Test Element Details 区域,但是它们经常在同一场景下使用。您同时还会在视图的顶部看到 Enable response time breakdown 的检查框。
AddToCart
元素上的 Enable response time breakdown 选项。您需要在 Shopping Basket 页面启动这个选项,如图10所示。 现在您已经为建立一个调度做好了准备,下面您可以运行您的测试程序了。
调度允许您在远程聚合测试,排序测试和运行测试。一个调度可以简单到就像一个用户在运行一个测试,或者复杂到不同组的成百个用户,每一个人在不同的时间运行一个不同的测试。根据您所了解的内容,我们可以定制一个调度:
在您建立了一个描述系统行为的调度后,您既可以使用正在测试的应用程序的连续构建,或者使用一个不断增加数量的虚拟用户来运行这个调度。
建立一个调度:
对于更现实的用户来说,您可以将浏览人员、购买人员、店主或者查看订单的用户分组。您可以为每一个行为建立一个脚本。
同时,您还要注意这个视图中拥有一连串新的标签。在这篇文章中虽然您不会看到所有的标签,但是您还是会看到它们中的一些。首先,将您的测试添加到用户组。
100
milliseconds,如图15所示。除此之外,将 Number of users 数值设置成5。
注意: 请不要将用户的数值设置成大于5或者10的数值。我想 BookPool.com 不希望遭受服务拒绝攻击。
当您完成设置后,您的 Response Time Breakdown 标签应该和图17所示类似:
图17:设置 Response Time Breakdown 选项
您的调度已经准备好可以运行。
难理解的部分已经结束!按照下列步骤运行调度:
这个过程启动了您的测试和报告的生成程序。您将会看到先前版本中所有的报告,不过其中添加了一些新的选项和特性。例如,报告中包含平均响应时间,并提供了时间的标准偏移量。除此之外,您现在可以为特定的时间范围建立报告。这篇文章不会涉及所有的报告,但是我们会涉及一些有特色的响应时间分解。
这里还有其他报告选项,但是您只要运行这些报告选项就需要至少花费1周的时间。其他的报告选项请查看 Help 文档。
这篇文章介绍了在 Rational Performance Tester V7.0 下运行负载测试的基础知识。您也可以使用这些工具做其他类型的性能测试。当您已非常熟练掌握基本性能测试特性时,您可以尝试使用其它的特性。
一条基本规则,如果您每次打开工具时都研究一项新的特性,那么您永远也不能精通它们。Rational Performance Tester Help 是个很好的帮手,您还可以到 IBM® developerWorks® Web 网站查看性能测试的相关资料。我推荐您看一些深入的介绍文章,或者是浏览 Performance 和 VU Testing 论坛。