使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试

发表于:2008-04-10来源:作者:点击数: 标签:负载测试
紧张的进度加上有限的资源,看起来会在不同阶段困扰着 开发 工作。有一些团队选择在每一次迭代时进行 负载测试 。大多数情况下,负载测试仅仅在开发周期的末期即项目被首次展示之前被执行。这就不可避免的会威胁到应用程序的质量及其满足客户的 SLA (服务级
紧张的进度加上有限的资源,看起来会在不同阶段困扰着开发工作。有一些团队选择在每一次迭代时进行负载测试。大多数情况下,负载测试仅仅在开发周期的末期即项目被首次展示之前被执行。这就不可避免的会威胁到应用程序的质量及其满足客户的 SLA (服务级别协定)的能力。IBM® Rational® Performance Tester Version 7 使您能够迅速的进行负载测试,从而确保软件的性能和质量。

目标读者群

本文适用于以下任何一类人群:

  • 决定采用何种工具的项目管理
    • 项目领导者
    • 项目经理助理
  • 功能性测试人员
    • 手动功能性测试人员
    • 自动功能性测试人员
  • 性能测试人员,他们是了解和使用这一工具的关键角色
  • 应用程序开发人员
  • 质量担保人员或者承包商

IBM® Rational® Performance Tester 是一款性能测试工具,它仿真各种各样的用户负载来模拟真实生活中的负载。通过适当的计划,这一工具利用当前的负载来估计未来的负载。例如,一个客户的应用程序可能最多只能够服务5000位用户。通过 Rational Performance Tester,您能够轻易的估计出用户负载分别为1000、2000、3000、4000、5000以及更多的情况,以便您能够设计正确的用户增长,并且能够更加精确的设计服务的规格,例如最佳的 CPU 和内存需求。您能够识别并且诊断出性能的瓶颈,无论这种问题是发生在网络数据库、应用服务器、甚至是用户应用程序之中。这一基础导致分析能力进一步分析应用程序的等级,它可能包括诸如 Enterprise Java™Beans (EJBs)、servlets、Java™ Database Connector (JDBC) API、网络服务器等等页组件。这一功能性使您能够通过分析在线的或者解压的报告轻易地和有效地查明性能问题。

Rational Performance Tester 也有助您在配置您的基于网络的应用程序之前创建、运行和分析性能测试,并且验证其可量测性和可靠性。默认支持的协议包括 HTTP 和 HTTPS,允许您在Web 应用程序上运行负载测试。若干扩展也被提供如下:

  • IBM® Rational® Performance Tester Extension for Citrix Presentation Server
  • IBM® Rational® Performance Tester Extension for SOA Quality
  • IBM® Rational® Performance Tester Extension for Siebel Test Automation
  • IBM® Rational® Performance Tester Extension for SAP Solutions

Rational Performance Tester 同使用一个可携式摄像机录制录制一段视频剪辑拥有相似的工作方式。它允许您录制您想要运行负载测试的每一步操作,然后通过适当的用户负载重放这些操作。本系列文章的第 1 部分(即本文)介绍了 Version 7 中所包括的特性和功能。

在一个典型的场景中,为了测试一个 Web 应用程序,您就要通过定义良好的测试计划来识别各种各样的场景。在一个负载测试期间,一位导致多个测试服务器负载崩溃的用户往往是我们所想要的。通过在多个机器之间适当的分摊用户负载,能够确保生成有意义的报告。这是一种在某些避免测试器负担过重的同时,另一些测试器却没有被充分利用的好方法。本系列文章的第 2 部分和第 3 部分将讨论在不影响您先前所录制的测试脚本的情况下,有效地降低用户负载所需要考虑的事项。它将探索一个视觉指导的、基于目录的(基于树形结构的)编辑器和步骤来创建、编辑、确定评价时间、并且获得分析报告。

本系列文章的第 4 部分全部是关于报告的。我们将解释如何检查、诊断、分析和解释 Rational Performance Tester 所提供的各种各样的分析报告。例如,一个Web 应用程序可以被分解为不同的组件,诸如 EJBs、servlets、JDBC 以及用于分析的 Web 服务器。我们还将探索默认的报告,并且描述如何定制它们。

本系列文章的目的是帮助您理解特性、拓扑事项、以及约束条件,以便您能够创建和测试 Web 应用程序,并且分析其性能报告。根据这一知识以及 Rational Performance Tester 的使用的便捷性,负载测试一个Web 应用程序不再是一项繁重的重担,您能够将其包含在软件的每一次迭代中。

本文概述

IBM Rational Performance Tester 为您提供了特性丰富的功能,它能够有效并且容易的加载测试。您不再需要在维护复杂的测试脚本上面浪费时间,而是能够在大多数情况下使用半自动的测试工具来帮助您完成相应的操作。您也不再需要编写测试脚本,因为管理员任务是基于一个 Eclipse 3.2 框架结构中的交互式的图形用户接口(GUI)的。换句话说,您能够通过使用 GUI 完全掌控测试周期,您还可以使用定制代码进行高级的测试。这种 GUI 的方法主要包括以下种类:

  • 交互式的绘图测试
  • 测试的创建、精炼、重放和时序安排
  • 数据池和相互关系
  • 工作量的分解和分配
  • 实时系统监测控制
  • 实时系统报告分析
  • 版本控制
  • 定制代码和扩展测试
  • 缩放比例和维护

本文将对以上每一个种类进行探索:

交互式的绘图测试

首要的问题是,IBM Rational Performance Tester 是建立在一个可扩展的开发平台之上的,使用的是 Eclipse 框架结构 Version 3.2。从开发的角度来看,Eclipse 框架结构的优势十分明显,但是从实践者的角度来看,IBM Rational Performance Tester 提供了全面而广泛的、上下文相关的 GUI 透视图来创建、管理和规划测试脚本。从测试的创建、用户负载的分发、到数据的收集,您都能够得到相应的视图。图1中显示了默认的测试透视图。


图 1. 基于 Eclipse 的 GUI 测试
基于 Eclipse 的 GUI 测试

依据您所使用的透视图,相应的视图可能会有所变化。例如,默认的测试透视图提供一个四个面板的控制台及其相应的视图,包括:位于左下方面板的 General > Outline, General > Properties, Test > Performance Test Runs 和位于底部面板的 General > Tasks, Test > Recorder Control, Test > Protocol Data。然而,您不仅局限于这些默认的视图。在任何时间,您都能够将与特定任务相关的视图包括进来,例如 Database Explorer 或者 Error Log 视图。向您的工作空间中添加一个特定的视图是非常直截了当的。例如,使用 Database Explorer 探索数据库的连通性,只需遵照如下步骤:

  1. 选择 Windows > Show View > Other。更加通用的视图,例如 Error Log、Outline 和 Tasks 被列在下拉列表中,如图2中所示。默认的测试透视图设定了一组预先配置好的视图。您能够通过定制操作添加或者删减这些视图。

图 2.显示视图
显示视图

  1. 使用 Type-Forward Filtering 特性(如图3中所示)搜索您想要的视图,您无须完整匹配整个字符串。在这种情况下,后缀为 dataDatabase Explorer 视图。

图 3. 类型前导过滤器
类型前导过滤器

透视图具有针对不同任务所提供的相应的视图,范围包括 General、Analysis、Connectivity、CBS、Debug、Profiling、Logging 和 SQL Development。我们需要做的是在正确的时刻选择正确的透视图。您能够拖动视图到面板中的任意位置,重新排列它们,或者当您需要返回原始布局时将它们归还到默认的透视图中。然而,透视图的重新安排是配置到当前打开的透视图的。例如,当其被选中时,数据库探索视图将如图4中所示:


图 4. 数据库探索视图
数据库探索视图

其他值得注意的方面包括:

  • 您能够使用下拉菜单搜索视图。从菜单中选择 Windows > Navigate > Next View
  • 您能够通过按下“up”和“down”箭头在工作空间中当前处于打开状态的任意视图中进行定位。同样的操作也适用于定位透视图。
  • 同样,您也能够使用快捷键来定位视图,例如 CTRL-F7 (向后定位)或者 CTRL-SHIFT-F7 (向前定位)。您能够从 Menu > Windows > Preferences > Keys 中定制快捷键。General > Keys 下面的设置将被应用到所有的透视图中。
  • 原文转自:http://www.ltesting.net