使用IBM Rational Performance Tester对一个模拟在线

2014-11-11 17:55:53



本文说明了 IBM® Platform Evaluation Test 团队在从 IBM Web Performance Tools (WPT) 试验项目迁移到 IBM Rational® Performance Tester(现在结合了 WPT 功能)的 Linux 版本的过程中的经历。用户模拟工具在模拟 Web 书店站点的压力测试中扮演了关键角色。本报告包括先前未编制成文档的关于在 Linux 上运行 Rational Performance Tester 的问题,以及扩展 Rational Performance Tester 以对模拟用户输入使用 Web 服务和 IBM DB2® 数据库的策略。结果表明在同样的时间段内,Rational Performance Tester 比 WPT 多完成 236% 的事务处理。本文的技术层次是面向 Rational Performance Tester 或类似软件的有经验的用户的。
本文讲述了 IBM Platform Evaluation Test(PET)团队在模拟的 Web 书店站点上实现 IBM® Rational® Performance Tester 的 Linux® 操作系统版本的过程中的经历。在 Rational Performance Tester 出现之前,我们对用户模拟软件的选择局限于非商业产品,例如 IBM Web Performance Tools 试验项目和 Siege。这两个都执行基本的 Web 会话功能,例如记录和回放,但是缺少许多商业产品,例如,Rational Performance Tester,中的有用特性。本文中我们讨论了首次使用 Rational Performance Tester 的经历,以及与 WPT (作为基本的用户模拟工具) 如何比较。我们还讨论使用数据池和定制代码特性的经历。最后,我们分析对书店站点压力测试环境的额外增强的潜力。

书店站点概况

书店站点是一个 IBM zipSeries® Web 应用程序,只在 IBM 中使用,它模拟大型在线书店,例如 BarnesAndNoble.com。它是一个复杂、多层次、多平台的环境,它被设计用来模仿真实的客户场景。书店可以跨 IBM Systems p®、z®、i®,和 x® 硬件,在这些硬件上要运行 IBM DB2、IBM WebSphere® Application Server 和 IBM WebSphere® MQSeries® 软件。我们已经使用 WPT 来模拟拥有上百万书籍的书店,在真实客户使用之前找到并解决软件、硬件,以及集成问题。

用户模拟工具的描述

IBM alphaWorks Web Performance Tools

我们评估了三个站点测试工具:IBM Web Performance Tools、Siege 和 IBM Rational® Performance Tester。

IBM Web Performance Tools 产品(WPT)是由 IBM alphaWorks 开发的一个试验项目,BM alphaWorks 是 IBM 的新兴技术部门。现在不再将 WPT 进行增强了,因为在试验阶段证明了它非常有用,可以将其作为商业产品继续开发。因此,它的功能已经被并入到了 Rational Performance Tester 中。

WPT 最初只运行在 IBM AIX® 平台上,并被称为 AKstress,而它最新的版本使用了 Web Performance Tools 的名称。最新的版本在其他平台上也可以使用,包括 Linux 操作系统。WPT 包括两个主要程序:压力和记录。

压力工具是一个简单的、高性能的、使用线程的 HTTP 引擎,它模拟高强度压力的 HTTP 客户负载。它可以使用脚本并提供有用的统计数据及日志。
记录工具使得为压力测试创建脚本变得容易。
Siege

Siege 是拥有类似于 WPT 特性的 GPL 软件。随着时间的推移,我们注意到,其性能也类似于 WPT。因此,我们感觉将其与 Rational Performance Tester 进行正式地比较是冗余的。

IBM Rational Performance Tester

这是用于生成用户负载的商业化的 IBM 产品。它作为 IBM 软件开发平台(software development platform,SDP)的一个插件,并且目前只支持在 Microsoft® Windows® 操作系统和 Linux 上使用。Rational Performance Tester 包括一个 IBM Rational ClearCase® LT 的完整功能的副本,再加上以下这些关键特性:

用于创建、修改,并执行工作负载的可视化测试编辑器 
能够同时运行多个,以及各种各样的用户模拟 
跨节点分配测试作业的可部署的执行代理 
立即的性能及吞吐量报告 
动态服务器响应的自动识别,及对其的支持 
使用数据池随机的输入 
服务器资源数据的集合及可视化 
生成在测试记录过程中被访问的 Web 页面的 HTML 视图 
为了灵活定制测试,可以插入 Java™ 代码 
成功的书店用户模拟的预测试需求

ZipSeries 软件的一个关键的方面是高要求下的高可用性。过去,我们经历了数周时间不断的寻找,以帮助确定书店的哪些部分易于失败。因此,对于我们测试的最初阶段来说,我们设定了以下对 Rational Performance Tester 的目标和需求:

必须在功能上是可接受的。它必须能够再现所捕获屏幕的确定集,用于基准测试及产品共存。 
必须能够可靠地运行很长一段时间。至少,它必须在不需要人工干涉的情况下,运行几周。 
必须能够生成充足的压力工作负载。目前由 WPT 生成的事务速率将被用作比较的基准点。因而,Rational Performance Tester 必须能够达到或超过目前速率 15% 以内 。 
应该很容易安装、配置及运行。最好是,我们能够使用命令行脚本来开始并停止我们经常运行的测试。 
用户的随机输入目前由 zipSeries 软件管理,因为,作为试验项目,WPT 有局限性。因此,为了更准确地对真实世界的使用建模,我们还想要使用只有 Rational Performance Tester 才有的特性,来将随机输入加入测试软件。

测试环境

我们使用 IBM Rational Application Developer Version 6.0.1.1 FixPack 2,Java 1.4.2,在 Red Hat Enterprise Linux WS 3(内核 2.4.21-40.EL)中开发。我们还使用开发环境来进行大多数测试,这就是为什么在本报告的后面我们把它称为“测试机器”的原因。该计算机是 IBM NetVista 8305-R8U,2.4 GHz Pentium 4 处理器,1 GB 内存(RAM)和 2 GB 交换区和 35 GB 硬盘。我们在 IBM X345 机器的 Red Hat Enterprise Linux AS 3(Kernel 2.4.21-20.ELsmp)上运行扩展测试,该机器有两个 3.2 GHz Xeon CPU,3 GB 内存(RAM)及 2GB 交换区(SWAP)和 15 GB 磁盘存储空间。

Web 环境存在于运行有 AIX V 5.5 TL4 ServicePac® 2 的 IBM POWER® 5 ML3 系统上。该环境在 IBM WebSphere Application Server V 6.0.2,FixPack 7 上运行 zipSeries 书店应用程序。两个书店的数据库服务器(浏览及购买)在依据某种规范(等同于 WebSphere Application Server 机器上的规范)的硬件上运行 DB2 UDB V 8.1。另一台 WebSphere Application Server 机器用于运行被测试的 Web 服务,并运行在 Red Hat Enterprise Linux AS 3 (kernel 2.6.9-22.0.2.ELsmp)和 IBM e325® 系统上,该机器有两个 2 GHz Opteron CPU,3 GB 内存和 2 GB 交换区及 15 GB 磁盘空间。

测试机之间的网络连接是通过光维的 Gigabit Ethernet 实现的。对于测试,我们使用 Web Performance Tools V 1.9.4 和 Rational Performance Tester V 6.1.2 FixPack 2 的 Linux 版本。