db db2_monitorTool IBM Rational Performace Tester

Advertisement

使用 Rational Performance Tester 实现 DB2 性能测试和监控

http://tech.ddvip.com/2008-09/122155971965952.html

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0801liu/


最佳实践和经验法则

文档选项
<noscript></noscript> <noscript>&lt;tr valign="top"&gt;&lt;td width="8"&gt;&lt;img alt="" height="1" width="8" src="//www.ibm.com/i/c.gif"/&gt;&lt;/td&gt;&lt;td width="16"&gt;&lt;img alt="" width="16" height="16" src="//www.ibm.com/i/c.gif"/&gt;&lt;/td&gt;&lt;td class="small" width="122"&gt;&lt;p&gt;&lt;span class="ast"&gt;未显示需要 JavaScript 的文档选项&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;</noscript> <script type="text/javascript"> &lt;!-- document.write('&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;8&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/c.gif&quot; width=&quot;8&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;/td&gt;&lt;td width=&quot;16&quot;&gt;&lt;img alt=&quot;将打印机的版面设置成横向打印模式&quot; height=&quot;16&quot; src=&quot;//www.ibm.com/i/v14/icons/printer.gif&quot; width=&quot;16&quot; vspace=&quot;3&quot; /&gt;&lt;/td&gt;&lt;td width=&quot;122&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;a class=&quot;smallplainlink&quot; href=&quot;javascript:print()&quot;&gt;打印本页&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;'); //--&gt; </script> <script type="text/javascript"> &lt;!-- document.write('&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;8&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/c.gif&quot; width=&quot;8&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;/td&gt;&lt;td width=&quot;16&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/v14/icons/em.gif&quot; height=&quot;16&quot; width=&quot;16&quot; vspace=&quot;3&quot; alt=&quot;将此页作为电子邮件发送&quot; /&gt;&lt;/td&gt;&lt;td width=&quot;122&quot;&gt;&lt;p&gt;&lt;a class=&quot;smallplainlink&quot; href=&quot;javascript:document.email.submit();&quot;&gt;&lt;b&gt;将此页作为电子邮件发送&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;'); //--&gt; </script>


打印本页


将此页作为电子邮件发送


讨论


样例代码


英文原文

<!-- START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- this content will be automatically generated across all content areas --><!-- END RESERVED FOR FUTURE USE INCLUDE FILES-->

级别: 中级

Mike Liu ([email protected] ), 软件工程师, IBM
Tony Lau ([email protected] ), 软件工程师, IBM, Software Group

2008 年 6 月 25 日

观 察如何在 IBM DB2 for Linux、UNIX 和 Windows 基准测试环境中使用 Rational Performance Tester 作为性能测试工具。了解要使用的最佳实践和一般经验法则。Trade6 基准应用程序被用作示例工作负载。

<!-- START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!-- END RESERVED FOR FUTURE USE INCLUDE FILES-->

简介


IBM 为社区提供了 DB2 免费版本 DB2 Express-C,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。

性能工 程是确定并报告软件解决方案当前性能的一门学科。它涉及模仿大量并发用户、收集诊断数据、绘图、进行性能分析和设计 System Under Test (SUT) 的技术改进。在达到性能目标之前,此过程将一直重复。在典型的 DB2 WebSphere 拓扑中,SUT 中有十台以上的机器(否则会有上百台)是很常见的。因此,测试循环通常十分单调乏味并且容易出错。

Rational Performance Tester 是 IBM 旨在简化性能工程的性能测试和监控策略的基础。本文将介绍使用 IBM 测试解决方案在 WebSphere 集群环境中测试 DB2 的最佳实践。


回页首

目标

本文的主要目标是:

  • 描述在没有类似 Rational Performance Tester 的性能测试解决方案的情况下,性能测试和监控中的主要难点
  • 描述作为 IBM 测试解决方案的 Rational Performance Tester 和 Tivoli Performance Monitoring 基础设施
  • 了解在 DB2 WebSphere 环境中使用 Rational Performance Tester 的一些性能测试实践和经验法则

回页首

先决条件

以下是在测试环境中使用的机器、它们的作用、使用的硬件和安装的软件的清单。

表 1. 测试环境
机器 硬件 软件 数据库 RPT Agent
Controller (x2) HTTP Server /
WebSphere
Deployment
Manager WebSphere
Application
Server (x7) RPT
Workbench

4x1.45 GHz
Power4
16 GB RAM
  • IBM DB2 Enterprise Server Edition V9.1 Fix Pack 2 s070210 for AIX 64-bit
  • IBM Tivoli Monitoring Server V6.1.0 Fix Pack 2 UNIX Platforms (C93SJIE.tar) + DB2 6.1.0-TIV-ITM_DB2-LA0053 Agent Support Install (6.1.0-TIV-ITM_DB2-LA0053.tar)
  • IBM Tivoli Monitoring for UNIX V6.1.0 Fix Pack 2 (C93SJIE.tar)
  • IBM Tivoli Monitoring for Databases V6.1.0 UNIX Platforms (C9393IE) + DB2 6.1.0-TIV-ITM_DB2-LA0053 Agent Support Install (6.1.0-TIV-ITM_DB2-LA0053.tar)
8x2 GHz
Intel XEON
4 GB RAM
  • IBM Rational Performance Tester Agent V7.0 (C95JAML.tar, C967UML.tar)
  • IBM Tivoli Monitoring for Linux V6.1.0 Fix Pack 2 (C93SRIE.tar)
2x2 GHz
AMD Opteron
4GB RAM
  • IBM WebSphere HTTP Server V6.1 (C88STML.tar)
  • IBM Edge Components V6.1 for Linux on x86-64, 64-bit support (C88XKML.tar)
  • IBM WebSphere Deployment Manager V6.1 (C88STML.tar)
2x2 GHz
AMD Opteron
2 GB RAM
  • IBM WebSphere Application Server Network Deployment V6.1 (C88STML.tar)
4x2.8 GHz
Intel XEON
4 GB RAM
  • IBM Rational Performance Tester V7.0 (C95J7ML.tar, C95J8ML.tar, C95J9ML.tar)

回页首

未使用 RPT 的性能工程

性能工程是确定并报告软件解决方案的当前性能的一门学科。它涉及设置 System Under Test (SUT)、模仿大量并发用户、管理 SUT、收集诊断数据、分析收集的数据和设计 SUT 的性能改进。在达到性能目标之前,此过程将一直重复。

  1. 设置测试环境。 测 试环境必须能够模拟生产环境。随后收集的度量单位要尽可能地与开发出来的模型一样精确。该度量单位可能像单节点 WebSphere Community Edition with DB2 Express-C 一样简单,或者可能是 WebSphere Application Server Extended Deployment Edition on DB2 9 的 16 节点集群。
  2. 模拟用户负载。 实际的用户负载要处理消费者行为分析和有效的线程实现。好的工作负载模拟器需要实现随机功能。而针对企业性能测试的出色工作负载模拟器则需要处理上千个线程和/或进程,并且必须具备良好的可伸缩性。
  3. 管理 System Under Test。 在进行每次尝试时,SUT 都必须处于相同状态,以便产生可重复的结果。为实现这一目的,您应该重复利用 WebSphere 和 DB2 的集群、清除不同目录中的日志文件并存储 DB2 表空间。为了产生可重复的结果而始终如一地执行所有这些操作是一个好的实践。
  4. 收集每台机器上的诊断数据。 至少应该具有 vmstat、iostat 和定期的 DB2 快照。必须在适当的时间使用适当的命令启动诊断工具。为了实现进一步的分析,必须系统地整理输出。为此,人们常常编写一些自定义脚本。
  5. 处理数字和绘图。 这包括大量的复制粘贴处理和电子表格处理。复杂度适中的系统在绘图和分析方面涉及的诊断数据将超过 100 份。专有的图形解决方案常常集成到自定义脚本中,以便将数据后处理(post-process)为人类可使用的形式。
  6. 重复 N 次! 执行性能测试的目的是发现性能瓶颈并进行性能改进。经过多少次尝试才能通过用户验收测试呢?根据我们的经验,一个版本可能要经过 100 次以上的尝试。

Rational Performance Tester 是 IBM 旨在简化性能工程的性能测试和监控的策略。在下面的小节中,将查看 RPT 如何通过模拟用户负载获得要绘制的结果图形,从而简化性能测试周期。


回页首

拓扑

首先设计测试环境的拓扑结构非常重要。典型的由 RPT 驱动的集群式 Trade6 测试环境由数据库、 HTTP 服务器、WebSphere 部署管理器、WebSphere 应用服务器、驱动程序和 RPT 工作台组成。我们的测试环境的拓扑如下所示:

图 1. 测试环境拓扑

最佳实践:分隔 RPT 工作台和驱动程序机器

RPT 工作台应该安装在不同于工作负载驱动程序机器的单独机器上,以减少驱动程序方面的开销

最佳实践:分隔驱动程序机器和 Trade 集群

驱动程序的开销很高,应该与 Trade 集群分隔开来。如果驱动程序位于运行 Trade 服务器的机器上,那么集群的资源会出现负载失衡,如果使用的是简单的循环负载平衡方案,那么这可能导致性能问题。

经验法则:CPU / 网络宽带比

有许多因素影响着测试环境中每个组件对另一个组件的伸缩。例如,如果工作负载非常依赖于数据库,那么您可以期望获得高比率的数据库与 WebSphere CPU 比。对于我们的测试环境,我们发现以下比率在机器之间的平衡资源利用方面非常合适:

  1. 总 Driver CPU : 总 DB2 CPU
    4 : 1
  2. 总 HTTP Server CPU : 总 DB2 CPU
    1 : 10
  3. 总 WAS CPU : 总 DB2 CPU
    2 : 1 (对于 EJB 应用程序是 4 : 1)
  4. Network for Drivers : 总 DB2 CPU
    当数据库机器上有 4 个以下的 CPU 时,建议使用 100 Mb 的网络,对于超过 4 个 CPU 的机器,建议使用 1GB 的网络

回页首

设置 Trade6 环境

要在 DB2 和 WebSphere 平台上设置 Trade6 基准,并创建和填充数据库,请参考 “使用 DB2 UDB 设置并运行 Trade6 基准” 一文(请参阅 参考资料 )。

在下面几个小节中,将介绍如何使用 Rational Performance Tester 作为工作负载驱动程序,并了解一些用户可用的监控工具。


回页首

使用 RPT 作为工作负载驱动程序

使用 IBM Rational Performance Tester 作为工作负载驱动程序可以简化并自动化运行性能测试的过程。RPT 为用户提供了用来创建并运行不同类型的性能测试的框架,并提供了简化收集过程和分析性能度量过程的内置工具。

例如,RPT 中的 HTTP 协议允许用户记录、编辑和执行测量度量的 HTTP 性能测试,这些度量指标包括页面命中(page hit)、页面吞吐量和页面响应时间。

RPT 还为诸如 IBM Tivoli Monitoring、Windows Performance Monitor 和 rstatd 之类的资源监控工具提供支持,可以使用这些工具监控测试环境中所有机器上的资源。IBM Tivoli Monitoring 提供了用来进一步具体监控应用程序和数据库的可选组件。例如,Tivoli Monitoring for Databases 允许用户监控 DB2 数据库内部的多种度量指标,比如数据库快照、表空间和缓冲池。

RPT 工作台

该工作台可以充当用户配置、启动和监控性能测试的界面。在运行性能测试时,此工作台将部署 RPT 执行代码来确定目标部署机器,并使用 RPT 代理控制器执行它们。

安装 RPT 工作台

  1. 下载 RPT 7 安装包并运行 launchpad.exe 启动安装向导。

    图 2. 安装 IBM Rational Performance Tester

  2. 选择安装 IBM Rational Performance Tester(包括 Agent)
  3. 如果尚未安装 IBM Installation Manager,那么请按照向导中的指令安装它
  4. 在 IBM Installation Manager 打开时,请选择安装 IBM Rational Performance Tester 7.0.0
  5. 同意许可协议并为共享目录和 RPT 选择安装路径
  6. 选择典型安装并按照指令完成安装

如果想和许多用户一起运行测试,那么必须获得 RPT 的许可密钥。可以使用包含许可密钥的许可服务器或使用许可文件获得许可密钥。要指向 Rational 许可服务器或导入许可文件,则应该运行 IBM Rational License Key Administrator(在 All Programs -> Rational Software 中可找到)。工作台使用的所有代理控制器都可以自动使用工作台使用的许可密钥。

最佳实践:增加工作台堆大小

对于依赖于从代理控制器和其他监控工具传输回工作台的大量数据的比较大的测试而言,默认工作台堆大小可能不够大。如果工作台内存不足,可以通过编辑位于 RPT 主目录中的 eclipse.ini 来增加默认工作台堆大小,并更改以下代码行:

-Xms40m

这指定了堆的大小。建议将最大工作台堆大小设置为 1.5 GB:

-Xmx1500m

最佳实践:日志级别

建议将 RPT 调度执行组件的日志级别设置为 “WARNING”,以减少系统开销。
要做到这一点,请转向 Window -> Preferences -> Logging。打开 Loggers 选项卡并将以下组件的日志级别更改为 “WARNING”:

com.ibm.rational.test.common.schedule.execution
com.ibm.rational.test.lt.execution

RPT 代理控制器

RPT 代理控制器必须安装在每台驱动程序机器上,以便为工作台提供控制它们的方法。这允许 RPT 工作台在这些机器上部署代码并执行性能测试。

安装 RPT 代理控制器

  1. 将代理控制器安装包下载到驱动程序机器上
  2. 运行安装向导(在 Linux 系统上,应该运行 install_linux.bin;在 Windows 系统上,应该运行 launchpad.exe,然后选择安装 Agent)
  3. 同意许可协议并选择安装路径
  4. 选择使用默认 JVM 并完成安装

要在 Unix/Linux 上启动代理控制器,请执行 RAStart.sh:

$ /opt/IBM/SDP70Shared/AgentController/bin/RAStart.sh
  Starting Agent Controller
  RAServer started successfully

最佳实践:对代理控制器使用正确的 JVM

确 保代理控制器使用的是随 RPT 一起打包的 JVM(RPT70/jdk/jre/bin/java)。要检查代理控制器正在使用的是哪个 JVM,请打开 <Agent Controller Home Dir>/config/serviceconfig.xml 并选择 JAVA_PATH 的值。作为好的实践,工作台使用的 Java 版本与代理控制器使用的 Java 版本应该是匹配的。

最佳实践:增加 tcpip 端口/打开文件的最大数量

在包含代理控制器的每台机器上,可能都需要应用以下调优:

  1. 在 Window 机器上,应该提高 tcpip 端口的数量限制:
    打开 regedit(Start -> Run -> regedit) 使用以下密钥将 MaxUserPort 的值编辑为 65534:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
  2. 在 Unix/Linux 系统上,应该使用 ulimit(作为根用户)增加所允许的打开文件的最大数量:
    $ ulimit -n 10050000
    

在应用调优之后,应该重启代理控制器,如下列清单所示:

$ /opt/IBM/SDP70Shared/AgentController/bin/RAStop.sh
  RAServer stopped, pid = 27275
$ /opt/IBM/SDP70Shared/AgentController/bin/RAStart.sh
  Starting Agent Controller
  RAServer started successfully

回页首

使用 RPT 运行性能测试

部署 Trade6 性能测试项目

这里提供了一个示例 RPT 性能测试项目(请参阅 下载 )。使用性能项目中提供的脚本,可以通过模拟的工作负载驱动 Trade6 环境,该模拟负载重复地命中 Trade6 网站的 /trade/scenario servlet。

要部署这些脚本,请打开 RPT 并选择将现有项目导入工作区。浏览解压缩 TradeProject 的位置,选中它,然后选择 Copy projects into workspace 。此外,还可以单击 Select archive file 直接指向压缩文件。图 3 显示了这些步骤:

图 3. 将项目导入 RPT 工作区


单击 Finish ,让 RPT 将此项目复制到工作区中。现在,工作区中应该有一个包含两个 Trade6 测试脚本的性能测试项目:

图 4. RPT 工作区视图


必须对这些脚本进行以下更改,以便将它们用于您的环境:

  1. 打开 TradeScheduleTest 并展开测试,直到看见 HTTP 请求元素。更改主机和端口,使其指向您的 Trade6 web 主机。

    图 5. 浏览 TradeScheduleTest

  2. 打开 TradeSchedule 并展开 User Group 1。对于要部署此性能测试的每台驱动程序机器,可以单击 Add new 并添加该机器。

    图 6. 添加部署机器

最佳实践:在性能运行期间停止问题确定

通过性能调度中的 Problem Determination 选项卡启用问题确定,这允许代理控制器为调试过程生成日志。对于实际的性能运行,应该将问题确定日志级别调整为 “None”,以减少代理控制器机器上的系统开销,或者调整为 “Severe” 并从每个用户组抽取一名用户作为样本。

最佳实践:增加代理控制器上的 JVM 堆大小

对于大型性能测试,可能需要为代理控制器增加 JVM 堆。例如,如果将堆大小增加为 1500 MB,请双击代理控制器机器(在 Test Navigator 中),打开 General Properties 选项卡,然后添加命名为 RPT_VMARGS 的值为 –Xmx1500m 的新属性。对于 Windows,建议将最大堆大小设置为 1.5 GB,对于 Linux,建议将该值设置为 3 GB。

图 7. 将新属性添加到某个位置

运行 Trade6 性能测试

要启动性能测试,请右键单击 TradeSchedule test -> Run As -> Performance test schedule。此外,可以在选中性能测试的同时按下 Alt+Shift+X, C 组合键。

然后工作台会将性能测试以及所需的 RPT 库部署到每台驱动程序机器并执行它们。在执行测试时,可以查看性能报告的不同页面,从而可以动态监控测试。

图 8 显示了吞吐量页面,该页面显示了与页面命中率和用户负载有关的信息:

图 8. 性能报告的吞吐量页面

Response vs. Time 页面显示了每个请求的平均响应时间。图 9 显示了此响应时间页面:

图 9. 性能报告的响应时间页面


回页首

RPT 中的监控工具

Rational Performance Tester 7 为三个监控工具提供了集成式支持:

  • rstatd
  • IBM Tivoli Monitoring
  • Windows Performance Monitor

建议为性能测试环境中的每台机器至少安装一种类型的监控工具。这样做可以监控所有资源并杜绝任何资源瓶颈。

要启动监控,请转向性能调度的 Resource Monitoring 选项卡,如图 10 所示:

图 10. 启动资源监控

单击 Add New 添加要监控的新机器。然后系统会提示您确定要进行监视的主机和要使用的监控工具。

最佳实践:同步系统时钟

多数监控工具都基于监视器下的系统使用时间戳来收集统计数据。因此,您首先应该同步正被监控的所有系统中的系统时钟。

在 Linux 和 AIX 系统上,可以键入以下内容(作为根用户)来实现这一点:

$ ntpdate -u speedo1
  12 Apr 13:52:06 ntpdate[21596]: step time server 9.26.54.6 offset 8.096963 sec

其中 speedo1 是充当时钟同步服务器的机器。

Windows Performance Monitor

默认情况下,所有 Windows 机器上都安装了 Windows Performance Monitor,可以使用它来监控各种系统资源。

rstatd

rstatd 工具用于从 Linux 和 Unix 操作系统中收集一些基本监控数据。这些数据包括:

  • 运行队列中的作业的平均数量
  • IOWait/Idle/System/User CPU Time
  • 所有界面上可以看见的所有冲突
  • 所有上下文切换
  • 总磁盘传输
  • 所有界面上的所有入站/出站错误
  • 所有界面上的所有入站/出站包
  • 所有中断
  • 已页入/页出的总 VM 页面
  • 已转入/转出的总 VM 页面

安装 rstatd

大多数 Unix 系统上都预先安装了 rstatd。要启动 rstatd 守护程序,请键入:

$ rpc.rstatd

对于 Linux 操作系统,可以在以下位置找到 rstatd 的开源版本:http://rstatd.sourceforge.net/。 要安装 rstatd,请键入以下内容:

$ tar xvf rpc.rstatd-4.0.1.tar
$ cd rpc.rstatd-4.0.1/
$ ./configure
$ make
$ make install

之后,请键入下列内容启动它:

$ rpc.rstatd

要使用 rstatd 监控 RPT 中的资源,请打开性能测试的 Resource Monitoring 选项卡,选择使用 UNIX rstatd 监视器,然后选择要收集的计数器。图 11 显示了这些步骤:

图 11. 启动 rstatd 性能监控计数器


要查看运作中的监控情况,请在运行测试的时候打开性能报告的 Resources 选项卡。您可以看到如下所示的图表,上面绘制了数据库机器上的 Idle、System、IOWait 和 User CPU 时间:

图 12. 使用 rstatd 实现 RPT 资源监控


IBM Tivoli Performance Monitoring

IBM Tivoli Monitoring 为监视器提供了更丰富的度量指标集,可以使用它们从测试环境中收集 rstatd 没有收集的额外的性能度量指标。可以安装不同类型的 ITM 监控代理,比如 Tivoli OS Monitoring、Tivoli Monitoring for Databases 或 Tivoli Monitoring for Applications,提供进一步的深层资源监控。

安装 IBM Tivoli Performance Monitoring

在安装 Tivoli Monitoring 之前,应该选择一台机器充当监控服务器。对于我们的测试环境,我们选择使用数据库机器。

要在 Unix/Linux 上安装监控服务器,请执行以下步骤:

  1. 将安装包复制到机器上并运行 install.sh script
  2. 为监控服务器选择一个安装目录
  3. 选择将产品安装到本地主机并接受许可协议
  4. 选择您的 OS 并选择安装 Tivoli Enterprise Monitoring Server (TEMS)
  5. 选择一个 TEMS 名称并完成安装

要启动监控服务器,请使用 cd 命令转向监控服务器主目录的 bin 目录,并执行 itmcmd (使用您的 TEMS 名称替换 MORTAL_HUB):

$ /home/adm22237/ITM/bin/itmcmd server start MORTAL_HUB
  Starting TEMS...
  TEMS started...

接 下来应该将每台机器上的监控代理安装到监视器上。Tivoli OS 监控代理以及包含 Tivoli 监控服务器安装的大多数安装包都已包括在内。其他监控代理,比如 Tivoli Monitoring for Databases 或 Tivoli Monitoring for Applications,可能需要单独下载。

要在 Unix/Linux 上安装监控代理,请执行以下步骤:

  1. 将代理安装包复制到机器上并运行 install.sh script
  2. 为监控代理选择安装目录
  3. 选择将产品安装到本地主机并接受许可协议
  4. 选择您的 OS 并选择安装监控代理
  5. 按照指令完成安装。

在启动代理之前,首先必须配置它,将它连接到监控服务器。要实现这一点,请使用 itmcmd 命令:
清单 1. 连接到监控服务器

$ /home/adm22237/ITM/bin/itmcmd config -A ux
  Agent configuration started...

  Will this agent connect to a TEMS? [YES or NO] (Default is: YES):
  TEMS Host Name (Default is: mortal): mortal

  Network Protocol [ip, sna, ip.pipe or ip.spipe] (Default is: ip.pipe):

  Now choose the next protocol from one of these:
  - ip
  - sna
  - ip.spipe
  - none
  Network Protocol 2 (Default is: none):
  IP.PIPE Port Number (Default is: 1918):
  Enter name of KDC_PARTITION (Default is: null):

  Configure connection for a secondary TEMS? [YES or NO] (Default is: NO):
  Enter Optional Primary Network Name or "none" (Default is: none):
  Are you installing this product into a clustered environment(Default is: NO):
  Agent configuration completed...

应该使用您的代理 ID 替换其中的 ux 。此 ID 基于代理类型和 OS,并且是惟一的。要查找代理 ID,可以使用 cinfo 命令:

清单 2. 查找代理 ID

$ /home/adm22237/ITM/bin/cinfo –I

  *********** Thu Apr 12 10:25:41 EDT 2007 ******************
  User      : mikezliu     Group: build pdxdb2
  Host name : mortal       Installer Lvl: 610 / 100
  CandleHome: /home/adm22237/ITM
  ***********************************************************
  ...Product inventory

  a4      Monitoring Agent for i5/OS
  tms     Version: 06.10.02.00

  ax      IBM Tivoli Monitoring Shared Libraries
  aix513  Version: 06.10.02.00
  aix516  Version: 06.10.02.00

  jr      Tivoli Enterprise-supplied JRE
  aix513  Version: 400 Rel: 100
  aix516  Version: 400 Rel: 100

  lz      Monitoring Agent for Linux OS
  tms     Version: 06.10.00.00

  ms      Tivoli Enterprise Monitoring Server
  aix513  Version: 06.10.02.00

  nt      Monitoring Agent for Windows OS
  tms     Version: 06.10.02.00

  sh      Tivoli Enterprise Monitoring SOAP Server
  aix513  Version: 06.10.02.00

  sy      Summarization and Pruning Agent
  tms     Version: 06.10.02.00

  tm      Monitoring Agent for IBM Tivoli Monitoring 5.x Endpoint
  tms     Version: 06.10.02.00

  ud      Monitoring Agent for DB2
  aix516  Version: 06.10.00.00
  tms     Version: 06.10.00.00

  ui      Tivoli Enterprise Services User Interface
  aix513  Version: 06.10.02.00
  aix516  Version: 06.10.02.00

  ul      Monitoring Agent for UNIX Logs
  tms     Version: 06.10.02.00

  um      Universal Agent
  tms     Version: 06.10.02.00

  ux      Monitoring Agent for UNIX OS
  aix516  Version: 06.10.02.00
  tms     Version: 06.10.02.00

按照指令,在提示的时候输入 Tivoli 监控服务器的主机名。

根据安装的监控代理的类型,可能需要将该代理的支持安装到监控服务器上。对于我们的集群,我们为 Unix/Linux 上的 DB2 的监控代理添加了支持,该支持将添加到监控服务器中,如下所示:

  1. 停止监控服务器:
    $ /home/adm22237/ITM/bin/itmcmd server stop MORTAL_HUB
      Stopping TEMS...
      TEMS stopped...
    
  2. 将代理安装包(包含用来将代理支持添加到监控服务器上的安装文件)复制到监控服务器机器上并运行 install.sh script
  3. 选择监控服务器的安装目录
  4. 选择将产品安装到本地主机并接受许可协议
  5. 选择您的 OS 并选择安装 Tivoli Enterprise Monitoring Server Support for Databases
  6. 按照指令完成安装
  7. 启动监控服务器:
    $ /home/adm22237/ITM/bin/itmcmd server start MORTAL_HUB
      Starting TEMS...
      TEMS started...
    
  8. 通过键入以下内容将监控代理支持添加到服务器:
    $ /home/adm22237/ITM/bin/itmcmd support -t MORTAL_HUB ud
      Copying cat and attr data...
      Product support installation started...
      Product support installation completed...
    

    其中的 ud 应该使用您的代理 ID 替换(可以使用 cinfo 命令查找 ID)。

还应该将以下补丁应用于 Tivoli Monitoring Server 和 Tivoli Monitoring Agent,以增加对 DB2 V9 的支持:

DB2 6.1.0-TIV-ITM_DB2-LA0053 Agent Support Install (6.1.0-TIV-ITM_DB2-LA0053.tar)

要启动代理,请使用 itmcmd 命令。根据想要启动的代理类型,可能需要传入额外的选项。例如,要启动 Tivoli OS 监控代理,可以键入以下内容:

$ /home/adm22237/ITM/bin/itmcmd agent start ux
  Starting agent...
  Agent Started...

要启动用于 DB2 的 Tivoli 监控代理,则应该按照以下这些步骤操作:

  1. 以实例用户(例如 mikezliu)的身份登录
  2. 连接到数据库并启动监控代理:
    $ db2 connect to trade6db
    
      Database Connection Information
    
      Database server        = DB2/AIX64 9.1.2
      SQL authorization ID   = MIKEZLIU
      Local database alias   = TRADE6DB
    
    $ /home/adm22237/ITM/bin/itmcmd agent -o mikezliu start ud
      Starting agent...
      Agent Started...
    

要使用 Tivoli 监控 RPT 中的资源,请打开性能测试的 Resource Monitoring 选项卡,选择使用 IBM Tivoli Monitoring,然后指定监控服务器的主机名:

图 13. 启动 Tivoli 资源监控


这之后,可以使用 Resource 选项卡选择要收集的计数器。

图 14. 使用 Resource 选项卡选择要监控的计数器


在运行测试的同时打开性能报告的 Resource 选项卡,这样可以查看运作中的监控情况。图 15 举例说明了这些步骤:

图 15. 使用 Tivoli Monitoring for Databases 实现 RPT 中的资源监控


通过右键单击该图,可以用不同的方式对其进行自定义,比如添加和移除计数器。例如,如果只想查看缓冲池命中率,那么可以右键单击该图 -> Add/Remove Performance Counters -> Resource Monitoring Counter 并只选择池命中率计数器。然后此图将更新为只绘制该计数器:

图 16. 使用 Tivoli Monitoring for Databases 实现 RPT 中的资源监控


回页首

最佳实践汇总

规划测试环境拓扑

RPT 工作台和驱动程序机器: RPT 工作台应该安装在不同于工作负载驱动程序的单独机器上

驱动程序机器: 驱动程序的系统开销很高,应该独立于测试下的系统。

RPT 工作台

工作台堆大小: 对于较大的测试,应该增加默认工作台堆大小

日志级别: 对于实际性能运行,不应该将 RPT 调度执行组件的日志级别设置为 “WARNING” 以上

代理控制器

代理控制器的 JVM: 代理控制器应该使用与 RPT 打包在一起的 JVM

Linux/UNIX 上的打开文件的最大数量: 增加允许打开文件的最大数量

Windows 上的 tcpip 端口的最大数量: 增加允许的 tcpip 端口的最大数量

运行 RPT 性能测试

问题确定: 在性能运行期间,应该将问题确定日志级别调整为 “None”,或者调整为 “Severe” 并从每个用户组中抽取一名用户作为样本。

代理控制器上的 JVM 堆栈的堆大小: 对于大型测试,需要增加代理控制器上启动的 JVM 堆栈的堆大小

资源监控

系统时钟: 测试环境下的系统中的所有机器都应该有彼此同步的系统时间,以便资源监控使用正确时间戳


回页首

结束语

本 文描述了如何使用 IBM Rational Performance Tester 作为 DB2 环境中的性能测试和监控工具。RPT 提供了帮助用户执行性能测试的多种工具,从对监控工具的内置支持,到允许用户编写和执行他们自己的工作负载驱动程序脚本。使用 RPT 作为端到端性能测试工具可以极大提高生产率,简化性能测试过程以及从 DB2 测试环境中收集性能度量的过程。


回页首

致谢

作 者特别感谢 Kent Siefkes 和 Kevin Mooney,感谢他们在使用 Rational Performance Tester 作为工作负载驱动程序方面的帮助和建议,以及在最佳实践方面的一些建议。作者还要感谢 Joseph P Toomey、Kevin Mooney、Judy Liu 和 Adam Muise,感谢他们对本文提出的宝贵反馈意见。


回页首

下载

描述 名字 大小 下载方法 示例 RPT 性能测试项目

TradeProject.zip 7KB HTTP
关于下载方法的信息

http://public.dhe.ibm.com/software/rationalsdp/rpt_agt/61/html/612/nl/readme_zh_CN_612.html

Rational Performance Tester 6.1.2 工作台内存优化 <!-- webbot bot="PurpleText" PREVIEW="Defect 1102755" -->

不要在少于 768 MB 物理内存的系统上使用 Performance Tester。如果违反,您就可能遇到由于内存不足产生的性能降低和/或应用程序崩溃等情形,而且这样的配置不受支持。

在更新 Performance Tester 后,请调节系统的 JVM 堆大小。

要在 Windows 上执行此操作:

  1. 启动 Performance Tester。
  2. 单击窗口 > 首选项
  3. 展开“测试”树,并单击 Performance Test 工作台

会显示建议的 JVM 堆大小。将该数字输入到“Java 虚拟机堆大小”字段中,然后单击确定

设置 JVM 堆大小后,Performance Tester 可能无法在下次被启动时启动。这是由于内存过小或内存碎片严重的情况而引起的。关闭一些活动程序或停止一些服务可释放足够内存来允许 Performance Tester 启动。

如果内存仍然不够,请通过编辑配置文件,重新设置 JVM 堆大小。此 rationalsdp.ini 文件位于产品安装目录(缺省情况下为 C:\Program Files\IBM\Rational\SDP\6.0(Windows)和 /opt/IBM/Rational/SDP/6.0(Linux))中。请在文本编辑器(例如 Notepad)中打开该文件,然后查找以 VMArgs=-Xmx 开头后跟数字和 m 的行。这个数字应为您在“首选项”页面上为“Java 虚拟机堆大小”字段输入的数字。从配置文件除去该行可允许 Performance Tester 启动。

有关如何增大工作台上的内存分配的最新信息,和有关如何减少内存消耗的最佳实践,请参阅 IBM 技术说明 1221972“Rational Performance Tester 6.1.2 工作台内存优化”。要查找此技术说明,请单击帮助 > IBM Support Assistant ,然后单击显示选项 。选择 IBM 软件支持文档Rational Performance Tester ,然后搜索“工作台内存优化”。

end

Similar Posts:

  • IBM Rational Performance Tester 和 HP Mercury LoadRunner 的比较

    IBM Rational Performance Tester 和 HP Mercury LoadRunner 的比较http://automationqa.com/forum.php?mod=viewthread&tid=1680&fromuid=29

  • 开始使用 IBM Rational Quality Manager (转贴)

    开始使用 IBM Rational Quality Manager 级别: 中级 Michael Kelly , 咨询顾问, www.MichaelDKelly.com 2009 年 5 月 04 日 学 习怎样从 IBM® Rational® QualityManager 开始,这是用于集成测试规划.手工测试,以及和自动测试工具相集成的协作性.基于 Web 的质量管理软件.本篇文章描述了 IBM Rational Quality Manager 的主要特性,提供了工作流和角色的简介,并展示了怎

  • 基于用户输入的 Rational Functional Tester 测试用例自动选择和执行工具

    转自:http://www.ibm.com/developerworks/cn/rational/r-cn-rftuserinputtestcase/index.html 用户在验证缺陷修补的过程或者在回归测试的项目中,常常需要从一个自动测试用例的全集合中选取某些测试用例来执行,而不是运行自 动测试用例全集合.本文针对 IBM Rational Functional Tester 编写的测试用例脚本开发了一个自动化测试用例选取工具,此工具可以通过图形界面的形式或者提供测试用例号文本文件两种方式来

  • Ratonal 多媒体课堂:IBM Rational 质量管理解决方案

    软件质量管理已经成为了业界瞩目的领域.本讲座将为您介绍当前软件质量管理所面临的挑战,并介绍 IBM Rational 为软件质量管理所提供的全面的解决方案. 在本讲座中 讲座涉及以下主题: 当前软件质量管理所面临的挑战 软件自动化测试技术 开发测试 功能测试 安全性测试 性能测试 测试管理 IBM Rational 质量管理解决方案 IBM Rational 软件测试产品的功能和特性 IBM Rational Software Analyzer IBM Rational Functional T

  • 基于 IBM Rational Robot 的自动化功能测试框架

    基于 IBM Rational Robot 的自动化功能测试框架 陈 国伟 ([email protected]), 高级软件工程师, IBM 中国软件开发中心实验室 本文内容包括: 1. 前言 2. 现实的挑战 3. 解决之道 4. 结论 本文介绍了构建在 IBM Rational Robot 基础之上的自动化功能测试框架,来帮助组织更好的进行自动化的功能测试. 1. 前言 测试本身就是一项异常艰苦的工作,而成功的进行自动化的功能测试,对很多软件开发组织来讲,更是困难重重.本文介绍了构建在

  • 使用 Rational Functional Tester 自动化 WebSphere Message Broker Toolkit 操作

    简介 IBM® WebSphere® Message Broker(以下简称为 Message Broker)支持业务应用程序之间的消息转换和路由,并且包括了一个工具箱,用于业务流开发和部署. IBM® Rational® Functional Tester(以下简称为 Functional Tester)是一个测试工具,可以帮助您自动化功能.回归.GUI,以及数据驱动测试.本文将展示如何使用 Functional Tester 自动化 Message Broker Toolkit 操作,并将涵

  • 利用 IBM Rational Suite AnalystStudio 进行迭代需求管理

    本白皮书解释了IT部门在定义和处理项目需求时面临的问题.它说明了如何利用需求管理解决方案解决这些问题.它解释了为什么高效的IT管理需要这样的解决方案.它解释了IBM Rational Suite AnalystStudio如何满足迭代需求管理的挑战. IT 项目需求管理很难,因为需求在项目的进行过程中不断变化.与真正的业务需要保持一致需要对需求进行迭代管理. 本白皮书解释了IT部门在定义和处理项目需求时面临的问题.它说明了如何利用需求管理解决方案解决这些问题.它解释了为什么高效的IT管理需要这样

  • IBM Rational Requirements Composer 2.0 的性能和可扩展性评测结果

    本文涉及哪些内容 性能与可评价性在服务器基础的环境中具体十分重大的意义.取决于环境的复杂性,性能可以对软件的有效性造成或大或小的影响.IBM® Rational® Requirements Composer Version 2.0 服务器由一些一起工作以组成工具末端的模块组成.2.0 版本服务器构件可以用不同的拓扑结构和配置创建,这些结构和配置会影响到性能与可评价性. 因为我们已经过了初始的发布阶段,对该测试的主要关注点是服务器的性能及其潜在的基础结构.本文描述了服务器的具体内容,并解释了可以影

  • Rational Functional Tester Proxy SDK 开发,第 3 部分: 使用 Proxy SDK 扩展 Java GUI 组件可捕获的验证数据

    一.RFT 中的数据验证功能及原理 本系列的上一篇介绍了如何通过 Proxy 扩展测试组件的识别属性和方法.除了识别对象,RFT 也提供了较完善的验证功能,分为属性验证(properties verification)和数据验证(data verification point)两种.本篇主要介绍如何通过 Proxy 扩展 RFT 的数据验证能力,使其更灵活.更具适应性. 与属性验证关注于组件的属性不同,数据验证将期望数据与组件所包含的实际数据相比较,从而得到验证结果. RFT 将数据验证细分为六

  • Web 应用安全利器:IBM Rational AppScan

    基于 Web 的应用正受到越来越多的青睐,从企业应用到形形色色的公共站点,可以说 Web 无处不在.黑客也逐渐将注意力从以往对网络服务器的攻击逐步转移到了对 Web 应用的攻击上,"跨站脚本"."SQL 注入"新的网络安全问题不断涌现,如何保障 Web 应用的安全已成为当今业界关注的问题.Rational AppScan 是 IBM 公司推出的全面 Web 安全解决方案,提供了扫描.报告和修复建议等功能,可以帮助开发者在项目起始阶段即全面准确地发现并解决安全问题.

Tags: