内容


使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试,第 2 部分

创建并且运行性能测试

学习使用 Rational Performance Tester 进行负载测试的基本知识

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试,第 2 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试,第 2 部分

敬请期待该系列的后续内容。

关于本系列文章

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

下面,对本系列的四篇文章加以简短的介绍:

  • 第 1 部分 为您提供了关于 IBM Rational Performance Tester Version 7.0 的一个总体介绍。
  • 第 2 部分(本部分)通过创建、运行、和评估一个简单的测试,向您介绍了使用 Rational Performance Tester 的基本知识。
  • 第 3 部分介绍了不同用户负载的测试(请参见下一小节)。
  • 第 4 部分全部是关于报告的内容。

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

本文概述

在本系列文章的第一部分中,您已经对 IBM Rational Performance Tester 的功能建立了整体的认识,它能够帮助您自动处理许多性能测试过程。本文是本系列文章的第 2 部分,它将帮助您开始实际使用这一测试工具。

第 2 部分知道您安装一个评价版本的程序、创建一个简单的测试、并且运行配置在 IBM® WebSphere® Application Server Community Edition 和 IBM® DB2® Express 上面的 DayTrader 应用程序的测试。它还为第 3 部分打下了基础,在第 3 部分中,您将运行不同用户负载规模的测试。

本文最后是一个可选的小节,它描述如何配置 DayTrader 的例子应用程序。如果您愿意的话,您也可以为您需要测试性能的应用程序创建测试。

下载一个 Rational Performance Tester V7.0 的评价版本

从 IBM developerWorks 下载一个 Rational Performance Tester 的评价版本,其中包括三个文件:RPT_V7.0_Part_1.zipRPT_V7.0_Part_2.zipRPT_V7.0_Part_3.zip。评价证书的有效期从安装之日开始计算是30天,最多允许五个并发的虚拟用户。在有效期到期后,您需要购买一个商业证书密钥来激活 Rational Performance Tester 才能继续使用它。请您参见 参考资源 一节中的链接来下载 IBM Rational Software Development Platform V7.0 - 在 Desktop Product Activation 区域中,您能够获得关于激活过程的证书和相关信息。

安装 Rational Performance Tester 的机器被称为工作台。它需要最少 1GB 的内存和最少 1GB 硬盘空间。

安装 Rational Performance Tester

这些步骤将指导您完成安装操作:

  1. 将以下三个文件解压到临时文件夹 C:\temp 中。
  • RPT_V7.0_Part_1.zip
  • RPT_V7.0_Part_2.zip
  • RPT_V7.0_Part_3.zip

    操作完成之后,您将找到三个解压后的文件夹:disk1、disk2 和 disk3。

  1. disk1 文件夹中,点击 launchpad.exe 文件,启动安装。
  2. 选择 Install IBM Rational Performance Tester (Includes Agent),如图1中所示。
图 1. Rational 安装屏幕
Rational 安装屏幕
Rational 安装屏幕
  1. 当您被提示时请接受该协议,并且点击 NextIBM Installation Manager 将会首先被安装。接受默认的位置,并且点击 Next
  2. 点击 Install 安装 IBM Installation Manager,并且在安装完成后点击 Finish
  3. 下一幅屏幕将会显示即将被安装的 Rational Performance Tester 。请确保 IBM Rational Performance Tester Version 7.0.0 处于被选中状态,如图2中所示,然后再次点击 Next
图 2. 安装 Rational Performance Tester 包
安装 Rational Performance Tester 包
安装 Rational Performance Tester 包
  1. 再次接受许可协议,安装 Rational Performance Tester ,点击 Next
  2. 屏幕上显示 Select a location for the shared resource directory,或者输入一个新的位置,或者接受默认的位置,然后点击 Next,如图3中所示。
图 3. 共享资源目录域
共享资源目录域
共享资源目录域
  1. 在下一幅屏幕上,请确保 Check a new package group 处于被选中状态,或者为安装输入一个新的位置,或者接受默认的安装位置。点击 Next,如图4中所示。
图 4. Rational Performance Tester 安装位置
截屏
截屏
  1. 点击 Next 两次,直到您看到屏幕上显示 Select the Features you want to install 为止。接受默认设置,点击 Next,如图5中所示。
图 5. 特性屏幕
截屏
截屏

安装 Rational 代理控制器

  1. 多次点击 Next 直到您看到标题为 Configure the IBM Rational Agent Controller installation 的屏幕为止,如图6中所示。IBM® Rational® 代理控制器同 Rational Performance Tester 一同被安装。
  2. 选择 Typical installation 并且点击 Next
图 6. 安装 Rational 代理控制器
截屏
截屏
  1. Summary Information 屏幕上,点击 Install,如图7中所示。
图 7. Summary 信息屏幕
截屏
截屏
  1. 当成功完成安装操作之后,您将看到如图8中所示的屏幕。选择 IBM Rational Performance Tester 并且点击 Finish。启动 Rational Performance Tester 。
图 8. 安装成功提示
截屏
截屏

创建并且运行一个性能测试

要创建一个性能测试来运行一个应用程序,您就要使用 Rational Performance Tester 来记录同基于网络的应用程序进行的交互作用的序列。这一序列被称作测试场景。您需要在开始记录之前就计划好测试场景。在本文中,测试场景的例子是本文需要用户登录 DayTrader 应用程序,购买和出售股票,然后登出该应用程序。

在记录性能测试之前,您还需要创建包括这些测试的性能测试项目。Rational Performance Tester 然后打开一个浏览器,使您记录测试场景并且生成该测试。您能够对生成的测试进行编辑,向其添加确认点、数据池、定制代码、以及其他变量。在这个例子中,您将添加一个保存相同值的多个数据的数据池。在将数据池同测试关联之后,它将会在执行时将测试中的值置换为数据池中的值,从而仿真不同的用户对服务器的请求。

要运行完成的测试,您需要为测试创建一个测试调度和一个用户组。测试调度包括一个或者许多用户组。记录的测试被添加到用户组中。使用测试调度和用户组能够控制测试的运行。例如,一个测试能够顺序的、随机的或者按照权重顺序运行;按照设定的间隔或者次数运行;远程运行;以及仿真工作量。这个例子使用响应时间崩溃选项(它是在测试调度下面被选中的),在测试运行时收集被捕获的页面元素的统计数字。响应时间崩溃显示我们在每一个页面上所花费的时间。要收集响应时间的崩溃,就必须运行 DCI 监视器。

以下步骤将指导您完成从创建到运行测试,以及为分析生成报告的操作:

  1. 首先,启动 IBM WebSphere Application Server Community Edition,它将启动 DayTrader 应用程序:Start > All Programs > IBM WebSphere > Application Server Community Edition > Start the server
  2. 启动 Rational Performance Tester ,点击 OK 将测试项目保存到默认的工作空间位置上,如图9中所示。
图 9. 选择默认的工作空间
截屏
截屏

1. 创建一个测试项目,保存性能测试。

  1. Test Navigator 中,右键单击,显示菜单。
  2. 选择 New > Performance Test Project,如图10中所示。新的 Performance 测试项目窗口将被打开。
图 10. 创建一个测试项目
截屏
截屏
  1. 输入 Project NameDayTraderProject,并且选中 Use default location,如图11中所示。
  2. 点击 Finish 创建项目。
图 11. 为测试项目命名
截屏
截屏

2. 创建一个新的测试,记录测试场景

  1. 在项目被创建之后,Create New Test from Recording 窗口将被打开,如图12中所示。
图 12. 创建测试窗口
截屏
截屏
  1. 选中 Create Test from New Recording 并且选择 HTTP Recording。点击 Next
  2. 对于 Select Location for Test Suite,选择 DayTraderProject。在 Test file name 域中,输入 DayTraderTest,如图13中所示。
  3. 点击 Finish 启动,初始化记录器。
图 13. 为测试命名
截屏
截屏

3. 记录 DayTrader 的测试场景

  1. Rational 性能测试记录器在初始化操作之后,将打开一个新的浏览器。
  2. 在浏览器中,输入 DayTrader URL (此即 DayTrader 应用程序的默认位置):
    http://IIC02:8080/daytrader/app
  3. 记录下列测试场景:
    1. 点击 Trading & Portfolios 标签。
    2. 登录,使用默认的用户名和密码,如图14中所示。
图 14. DayTrader 登录屏幕
截屏
截屏
  1. 当 DayTrader 主页被显示之后,点击顶部的 Quotes/Trade 链接,打开 Quotes 页面,如图15中所示。
图 15. 进入 Quote/Trade 页面
截屏
截屏
  1. 点击 Quote 表中第一行的 Buy 按钮,购买 100 shares,如图16中所示。确认屏幕将会确认您的购买操作。
图 16. 购买股票
截屏
截屏
  1. 点击顶部的 Portfolio 链接,打开用户 Portfolio 页面。
  2. 验证 Portfolio 中所反映的购买操作。在同一个页面中,请注意列出的资产编号。
  3. 下一步,点击 Portfolio 表中第一行的 Sell 链接,出售股份,如图17中所示。确认屏幕将会确认您的出售操作。
图 17. 出售股票
截屏
截屏
  1. 再次点击 Portfolio 链接,查看反映销售的资产编号。
  2. 点击 Logoff 然后关闭浏览器。

控制器将返回到 Rational Performance Tester ,进行记录和显示测试内容。

4. 创建一个数据池,置换测试中的用户 ID 和密码的值

  1. Test Navigator 中,右键单击,显示菜单。
  2. 选择 New > Datapool。新的数据池窗口将被打开,如图18中所示。
图 18. 创建一个数据池
截屏
截屏
  1. Enter or select the parent folder 域中,输入 DayTraderProject。在 Name 域中,输入 DayTraderDatapool,如图19中所示。
  2. 点击 Next
图 19. 数据池细节
截屏
截屏
  1. 对于 Description,为数据池输入登录 ID,对于 Initial Table Dimension,输入“两”列。
  2. 点击 Finish
  3. 接下来,点击 Variable1 列,Edit Variable 窗口将被打开。
  4. LoginID 列命名,对于 Type,输入 String。然后点击 OK
图 20. 编辑变量1
截屏
截屏
  1. 如上所述,对变量2执行相同的操作。将新的列命名为 Password,并且指定 Type 为 String。
图 21. 编辑变量2
截屏
截屏

数据池将包括五个不同的用户登录 ID,分别编号为:uid:0 uid:4,如表1中所示。

表 1. User ID 和 Password 值
User IDPassword
uid:0xxx
uid:1xxx
uid:2xxx
uid:3xxx
uid:4xxx

提示:
为下一个记录添加一行,按下回车键,或者右键单击最后一个记录并且选择 Add Record

图 22. 添加数据池记录
截屏
截屏

提示:
使用组合键 CRTL-S 保存数据池。

5. 参考 DayTraderTest 使用数据池的值

  1. Test Navigator 中,点击 DayTraderTest 打开属性页面。
  2. 右键单击 DayTraderTest 并且选择 Add > Datapool
图 23. 向测试中添加数据池
截屏
截屏
  1. 当 Import Datapool 窗口被打开时,选择如下内容:
  • 匹配资源:DayTraderDatapool.datapool。
  • 打开模式:共享式(每一台机器)
  • 当最后一行到达时的约束:选中的
图 24. 选择数据池
截屏
截屏
  1. 点击 Select 接受 DayTraderDatapool.data 池作为 DayTraderTest。Test Element Details 将会被更新为数据池中的信息。
图 25. 数据池元素的详细资料
截屏
截屏
  1. 保存变化,请使用组合键 CTRL+S

6. 将用户 ID (uid)和密码的值同数据池中的列相关联

  1. Test Navigator 中,点击 DayTraderTest,打开属性页面。
  2. 展开 Welcome to DayTrader 页面,然后选择 iic02:8080/daytrader/app
图 26. 选择测试页面
截屏
截屏
  1. 滚动 Test Element Details 屏幕,直到您看到 Data 小节中的 uidpasswd,如图27中所示。
图 27. 测试同数据池相关联的值
截屏
截屏
  1. 点击 uid 的值(如图28中所示的紫色加亮部分),菜单将被显示,选择 Substitute From > Datapool Variable
图 28. 用数据池的变量替换值
截屏
截屏
  1. Select datapool column 窗口将被打开。选择 Column:LoginID,然后点击底部的 Use Column 按钮,如图29中所示。
图 29. 使用数据池的值
截屏
截屏

uid 的值将用绿色被加亮,指出关联性,如图30中所示。

图 30. 关联的 uid 值
截屏
  1. 重复 图 25 之后的操作,将密码值同数据池中的密码列关联起来。关联之后,密码将用绿色被加亮,如图31中所示。
图 31. 关联的密码值
截屏
  1. 在完成关联操作之后,再次点击 Welcome to DayTrader 页面。请注意,Test Data 表中现在包括这个关联,如图32中所示。
图 32. 验证关联
截屏
截屏
  1. 保存变化,使用组合键 CTRL+S

7. 创建性能测试调度

  1. Test Navigator 中,右键单击 DayTraderProject,显示菜单,然后选择 New > Performance Schedule,如图33中所示。
图 33. 创建性能测试调度
截屏
截屏
  1. Performance Schedule 窗口将被打开,如图34中所示。输入 DayTraderSchedule 作为测试调度的名称。
图 34. 测试调度的详细资料
截屏
截屏

Performance Schedule 属性窗口中,如图35中所示,在 Schedule Contents 下面请注意 DayTraderSchedule 和一个 user group。在 Schedule Element Details 中,General 标签显示 Number of users 的默认值为 5。此即为您所运行的 Rational Performance Tester 的评估版本中虚拟用户数量的最大值。

图 35. 性能测试调度属性窗口
截屏
截屏

8. 为测试调度中的数据收集的崩溃配置响应时间

  1. Schedule Element Details 中,点击 > 显示更多的标签。
  2. 点击 Response Time Breakdown 标签,如图36中所示。
    1. 选择 Enable collection of response time data,如图37中所示。
    2. 选择 DayTraderTest,执行收集。
    3. Options 下,选择 High 作为 Detail 的级别。
    4. 选择 Only sample information from a subset of users
    5. 选择 Fixed number of users,然后为 per User Group 输入 2
图 36. Response Time Breakdown 标签
截屏
截屏
图 37. Response time breakdown 设置
截屏
截屏
  1. 确保保存了设置(组合键 CTRL+S)。

默认情况下,User Group 1 将被用于添加测试。默认的用户组大小是100%运行在本地计算机上,如图38中所示。在本文(第 3 部分)的第二小节中,将介绍添加更多用户组作为用户负载测试的详细步骤。

图 38. 默认的用户组
截屏
截屏

9. 将 DayTraderTest 添加到 DayTraderSchedule

  1. Performance Schedule 属性窗口中,右键单击 User Group 1,并且选择 Add > Test,如图39中所示。
图 39. 向测试调度中添加测试
截屏
截屏
  1. Select Performance Tests 窗口中,展开 DayTraderProject 并且选择 DayTraderTest,如图40中所示。
  2. 点击 OK
图 40. 选择 DayTraderTest
截屏
截屏

测试被添加到 User Group 1 下的测试调度中,如图41中所示。

图 41. 被添加到测试调度中的 DayTraderTest
截屏
截屏
  1. 再次使用组合键 CTRL+S 保存改变。

10. 运行 DayTrader 测试并且回顾报告

  1. 首先,启动 DCI (数据转换接口)监视器,如图42中所示。在窗口中:IBM Software Delivery Platform > IBM Rational Data Collection Infrastructure > Start Monitoring
图 42. 启动 DCI
截屏
截屏
  1. Test Navigator 中,右键单击 DayTraderSchedule,显示菜单。
  2. 选择 Run As > Performance Schedule,如图43中所示。
图 43. 运行性能测试
截屏
截屏

当收集操作完成之后,Rational Performance Tester 将启动该测试调度,收集数据,并且在报告中显示结果。

  1. 滚动到不同的标签上,查看报告。
图 44. 完成的性能报告
截屏
截屏

当您完成性能报告之后,您能够导出一个 HTML、XML 或者 CVS 格式的版本,用于浏览器中进一步的分析、打印、显示,或者仅仅是通过电子邮件将其和其他人分享。按照下述步骤将报告导出为 HTML:

  1. Performance Test Runs 视图中,右键单击您希望导出的报告。
  2. 从菜单中选择 Export To HTML,如图45中所示。
图 45. 将报告导出为一个 HTML 文件
截屏
截屏

请注意:
如果您无法看到这个报告,请右键单击 DayTraderSchedule 并且从菜单中选择 Display Report,如图46中所示。

图 46. 显示报告
截屏
截屏
  1. 为报告提供 locationfile name,然后点击 Finish,如图47中所示。
图 47. 为报告指定位置和 HTML 文件的名称
截屏
截屏
  1. 打开被导出的报告,并且在您的网络浏览器中回顾它,如图48中所示。
图 48. HTML 格式的性能报告
截屏
截屏

关于第三部分 如何测试不同规模的用户负载

至此,您已经理解了基本知识,并且准备好进行第三部分(请参见 参考资料 中的链接)的操作,运行不同用户负载规模的性能测试。

可选项:配置 DayTrader 例子应用程序

  1. 下载 IBM WebSphere Application Server Community Edition V1.1.0.2,请您参见参考资源小节中的链接,并且将其安装到 Rational 测试器的同一台机器上。
  2. 下载 IBM DB2 Express-C 9,请您参见参考资源小节中的链接,并且将其安装到 Rational Performance Tester 的同一台机器上。
  3. 从下载小节中下载 DayTrader.zip 文件,并且解压缩到 C:\ 下面。
  4. 接下来,设置数据库:
    1. 在 DB2 命令窗口中,创建一个名为 tradedb 的数据库:
      命令:db2 create db tradedb
    2. 使用 db2admin 发布一个到 tradedb 的连接:
      命令:db2 connect to tradedb user <db2admin> using <password>
    3. 加载 tradedb 的数据库测试调度:
      命令:db2 –tvf C:\daytrader\modules\db2\sql\Table.ddl
图 49. 创建并且配置 tradedb
截屏
截屏

通过以下这些步骤将 DayTrader 应用程序配置到 WebSphere 应用程序服务器之中:

  1. 编辑 C:\daytrader\plans\dayTrader-db2-9.1-XA-plan.xml 文件:
    1. 修改 TradeDataSourceUserPasswordDatabaseNameServerName 属性。
    2. 查询并且修改信息:
      • {db2admin}
      • {db2admin_passwd}
      • {iic02.iicmy.ibm.com}
      • {tradedb}
列表 1. XML 文件中的代码
<name>jdbc/TradeDataSource</name>
<config-property-setting
name="User">{db2admin}</config-property-setting>
<config-property-setting
name="Password">{db2admin_passwd}</config-property-setting>
<config-property-setting
name="PortNumber">50000</config-property-setting>
<config-property-setting
name="ServerName">{iic02.iicmy.ibm.com}</config-
property-setting> <config-property-setting
name="DatabaseName">{tradedb}</config-property-setting>
<config-property-setting
name="DriverType">4</config-property-setting>
  1. 将改变保存到 dayTrader-db2-9.1-XA-plan.xml 文件中。
  2. 通过点击 Start > IBM WebSphere > Application Server community Edition > Start the server,启动 WebSphere Application Server Community Edition
  3. 打开 Windows 命令行,改变目录至 %WASCE_HOME%\bin
  4. 使用这条命令配置 daytrader.ear 文件:
    deploy.bat deploy C:\daytrader\modules\ear\target\daytrader-ear-1.1.1.ear c:\daytrader\plans\dayTrader-db2-9.1-XA-plan.xml
  5. 当您在配置期间被提示输入用户名和密码的时候,请输入“system”作为 username,“manager”作为 password
图 50. 配置 daytrader.ear 文件
截屏
截屏
  1. 当配置完成之后,重新启动 WebSphere:
  2. Start > IBM WebSphere > Application Server community Edition > Stop the server
  3. Start > IBM WebSphere > Application Server community Edition > Start the server
  4. 在开始使用 DayTrader 之前对其进行配置:
  5. 在一个网络浏览器中,打开:http://iic02:8080/daytrader/
  6. 点击 Configuration 标签,然后点击 (Re)-populate DayTraderDatabase
图 51. 移植 DayTrader 数据库
截屏
截屏
  1. 一个新的浏览器将被打开执行移植操作。请您等待,在它完成后会自动关闭该浏览器。
  2. 请注意被移植的用户 ID。您将使用它登录 DayTrader 应用程序。所有用户 ID 的密码统一是 xxx,如图52中所示。
图 52. 将数据配置到 tradedb 数据库
截屏
截屏

下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=311598
ArticleTitle=使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试,第 2 部分: 创建并且运行性能测试
publish-date=06022008