db db2_monitorTool IBM Rational Performace Tester
使用 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><tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16"
height="16" src="//www.ibm.com/i/c.gif"/></td><td class="small"
width="122"><p><span class="ast">未显示需要 JavaScript
的文档选项</span></p></td></tr></noscript>
<script type="text/javascript">
<!--
document.write('<tr valign="top"><td width="8"><img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/></td><td width="16"><img alt="将打印机的版面设置成横向打印模式" height="16" src="//www.ibm.com/i/v14/icons/printer.gif" width="16" vspace="3" /></td><td width="122"><p><b><a class="smallplainlink" href="javascript:print()">打印本页</a></b></p></td></tr>');
//-->
</script>
打印本页
<script type="text/javascript">
<!--
document.write('<tr valign="top"><td width="8"><img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/></td><td width="16"><img src="//www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="将此页作为电子邮件发送" /></td><td width="122"><p><a class="smallplainlink" href="javascript:document.email.submit();"><b>将此页作为电子邮件发送</b></a></p></td></tr>');
//-->
</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
(mikezliu@ca.ibm.com
), 软件工程师,IBM
Tony Lau
(tktlau@ca.ibm.com
), 软件工程师, 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. 测试环境
机器
硬件
软件
数据库
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)
RPT Agent
Controller (x2)
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)
HTTP Server /
WebSphere
Deployment
Manager
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)
WebSphere
Application
Server (x7)
2x2 GHz
AMD Opteron
2 GB RAM
[*]IBM WebSphere Application Server Network Deployment V6.1 (C88STML.tar)
RPT
Workbench
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 的性能改进。在达到性能目标之前,此过程将一直重复。
[*]
设置测试环境。
测
试环境必须能够模拟生产环境。随后收集的度量单位要尽可能地与开发出来的模型一样精确。该度量单位可能像单节点 WebSphere
Community Edition with DB2 Express-C 一样简单,或者可能是 WebSphere Application
Server Extended Deployment Edition on DB2 9 的 16 节点集群。
[*]
模拟用户负载。
实际的用户负载要处理消费者行为分析和有效的线程实现。好的工作负载模拟器需要实现随机功能。而针对企业性能测试的出色工作负载模拟器则需要处理上千个线程和/或进程,并且必须具备良好的可伸缩性。
[*]
管理 System Under Test。
在进行每次尝试时,SUT 都必须处于相同状态,以便产生可重复的结果。为实现这一目的,您应该重复利用 WebSphere 和 DB2 的集群、清除不同目录中的日志文件并存储 DB2 表空间。为了产生可重复的结果而始终如一地执行所有这些操作是一个好的实践。
[*]
收集每台机器上的诊断数据。
至少应该具有 vmstat、iostat 和定期的 DB2 快照。必须在适当的时间使用适当的命令启动诊断工具。为了实现进一步的分析,必须系统地整理输出。为此,人们常常编写一些自定义脚本。
[*]
处理数字和绘图。
这包括大量的复制粘贴处理和电子表格处理。复杂度适中的系统在绘图和分析方面涉及的诊断数据将超过 100 份。专有的图形解决方案常常集成到自定义脚本中,以便将数据后处理(post-process)为人类可使用的形式。
[*]
重复 N 次!
执行性能测试的目的是发现性能瓶颈并进行性能改进。经过多少次尝试才能通过用户验收测试呢?根据我们的经验,一个版本可能要经过 100 次以上的尝试。
Rational Performance Tester 是 IBM 旨在简化性能工程的性能测试和监控的策略。在下面的小节中,将查看 RPT 如何通过模拟用户负载获得要绘制的结果图形,从而简化性能测试周期。
回页首
拓扑
首先设计测试环境的拓扑结构非常重要。典型的由 RPT 驱动的集群式 Trade6 测试环境由数据库、 HTTP 服务器、WebSphere 部署管理器、WebSphere 应用服务器、驱动程序和 RPT 工作台组成。我们的测试环境的拓扑如下所示:
图 1.测试环境拓扑
最佳实践:分隔 RPT 工作台和驱动程序机器
RPT 工作台应该安装在不同于工作负载驱动程序机器的单独机器上,以减少驱动程序方面的开销
最佳实践:分隔驱动程序机器和 Trade 集群 驱动程序的开销很高,应该与 Trade 集群分隔开来。如果驱动程序位于运行 Trade 服务器的机器上,那么集群的资源会出现负载失衡,如果使用的是简单的循环负载平衡方案,那么这可能导致性能问题。
经验法则:CPU / 网络宽带比 有许多因素影响着测试环境中每个组件对另一个组件的伸缩。例如,如果工作负载非常依赖于数据库,那么您可以期望获得高比率的数据库与 WebSphere CPU 比。对于我们的测试环境,我们发现以下比率在机器之间的平衡资源利用方面非常合适:
[*]
总 Driver CPU : 总 DB2 CPU
4 : 1
[*]
总 HTTP Server CPU : 总 DB2 CPU
1 : 10
[*]
总 WAS CPU : 总 DB2 CPU
2 : 1
(对于 EJB 应用程序是 4 : 1)
[*]
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 工作台
[*]
下载 RPT 7 安装包并运行 launchpad.exe 启动安装向导。
图 2. 安装 IBM Rational Performance Tester
[*]选择安装 IBM Rational Performance Tester(包括 Agent)
[*]如果尚未安装 IBM Installation Manager,那么请按照向导中的指令安装它
[*]在 IBM Installation Manager 打开时,请选择安装 IBM Rational Performance Tester 7.0.0
[*]同意许可协议并为共享目录和 RPT 选择安装路径
[*]选择典型安装并按照指令完成安装
如果想和许多用户一起运行测试,那么必须获得 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 代理控制器
[*]将代理控制器安装包下载到驱动程序机器上
[*]运行安装向导(在 Linux 系统上,应该运行 install_linux.bin;在 Windows 系统上,应该运行 launchpad.exe,然后选择安装 Agent)
[*]同意许可协议并选择安装路径
[*]选择使用默认 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 端口/打开文件的最大数量
在包含代理控制器的每台机器上,可能都需要应用以下调优:
[*]
在 Window 机器上,应该提高 tcpip 端口的数量限制:
打开 regedit(Start-> Run-> regedit)
使用以下密钥将 MaxUserPort 的值编辑为 65534:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
[*]
在 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 工作区视图
必须对这些脚本进行以下更改,以便将它们用于您的环境:
[*]
打开 TradeScheduleTest 并展开测试,直到看见 HTTP 请求元素。更改主机和端口,使其指向您的 Trade6 web 主机。
图 5. 浏览 TradeScheduleTest
[*]
打开 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: 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 上安装监控服务器,请执行以下步骤:
[*]将安装包复制到机器上并运行 install.sh script
[*]为监控服务器选择一个安装目录
[*]选择将产品安装到本地主机并接受许可协议
[*]选择您的 OS 并选择安装 Tivoli Enterprise Monitoring Server
(TEMS)
[*]选择一个 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 上安装监控代理,请执行以下步骤:
[*]将代理安装包复制到机器上并运行 install.sh script
[*]为监控代理选择安装目录
[*]选择将产品安装到本地主机并接受许可协议
[*]选择您的 OS 并选择安装监控代理
[*]按照指令完成安装。
在启动代理之前,首先必须配置它,将它连接到监控服务器。要实现这一点,请使用 itmcmd
命令:
清单 1. 连接到监控服务器
$ /home/adm22237/ITM/bin/itmcmd config -A ux
Agent configuration started...
Will this agent connect to a TEMS? (Default is: YES):
TEMS Host Name (Default is: mortal): mortal
Network Protocol (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? (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
aix513Version: 06.10.02.00
aix516Version: 06.10.02.00
jr Tivoli Enterprise-supplied JRE
aix513Version: 400 Rel: 100
aix516Version: 400 Rel: 100
lz Monitoring Agent for Linux OS
tms Version: 06.10.00.00
ms Tivoli Enterprise Monitoring Server
aix513Version: 06.10.02.00
nt Monitoring Agent for Windows OS
tms Version: 06.10.02.00
sh Tivoli Enterprise Monitoring SOAP Server
aix513Version: 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
aix516Version: 06.10.00.00
tms Version: 06.10.00.00
ui Tivoli Enterprise Services User Interface
aix513Version: 06.10.02.00
aix516Version: 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
aix516Version: 06.10.02.00
tms Version: 06.10.02.00
按照指令,在提示的时候输入 Tivoli 监控服务器的主机名。
根据安装的监控代理的类型,可能需要将该代理的支持安装到监控服务器上。对于我们的集群,我们为 Unix/Linux 上的 DB2 的监控代理添加了支持,该支持将添加到监控服务器中,如下所示:
[*]停止监控服务器:
$ /home/adm22237/ITM/bin/itmcmd server stop MORTAL_HUB
Stopping TEMS...
TEMS stopped...
[*]将代理安装包(包含用来将代理支持添加到监控服务器上的安装文件)复制到监控服务器机器上并运行 install.sh script
[*]选择监控服务器的安装目录
[*]选择将产品安装到本地主机并接受许可协议
[*]选择您的 OS 并选择安装 Tivoli Enterprise Monitoring Server Support for Databases
[*]按照指令完成安装
[*]启动监控服务器:
$ /home/adm22237/ITM/bin/itmcmd server start MORTAL_HUB
Starting TEMS...
TEMS started...
[*]通过键入以下内容将监控代理支持添加到服务器:
$ /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 监控代理,则应该按照以下这些步骤操作:
[*]以实例用户(例如 mikezliu)的身份登录
[*]
连接到数据库并启动监控代理:
$ 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 上执行此操作:
[*]启动 Performance Tester。
[*]单击窗口 > 首选项
。
[*]展开“测试”树,并单击 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
页:
[1]