采用SwingBench 2.2的Oracle RAC标准测试
你多久需要对你的应用进行一次标准测试?虽然你不总是想,但你确实想对你的环境中产生什么负载有个粗略的了解。我们将在我们的ESX环境中测试这些,还会使用VMware Server 1.0.3或Workstation 6.x的最新产品来做这项工作……
标准测试真的是必要的吗?
是的,因为非常全面的、准确的和及时的信息是作出好的设计的基础。不幸的是,具有影响力角的数据库管理员们或甚至是具有良好判断力的IT经理 们经常需要基于很少的信息作出决策。你已经浏览过这个流程几次了,可以知道增加容量意味着你要给你的服务器更多的内存和更多的CPU,然后它才能工作,对 吧?
我们需要信息不只是要正确的认识问题,还要设计一个策略在要求更多的容量之前解决它。标准测试结果和一个显示为什么你的应用运行有问题的数据和 数字的图表使得问题更清晰并易于管理。这使得管理关注于潜在的问题并提供一个更好的框架用于开发一个及时和高效的解决方案。作为一个技术人员,我们都知道 一个好的决策开始于可靠的信息,而标准测试提供一
个框架、结构和方法来得到基本分析。所以标准测试不只是一个给一些在扫描了你的环境之后显示给你一些图像 的外来的顾问使用的工具——它是一个用于变化的强大的工具,通过产生可靠的、全面的查明弱点的信息,帮助使专业人员不再争论什么是错误的,而是去讨论怎样 改进系统。应用程序越复杂,指出应该采取的正确的导向就越困难。你的Oracle RAC也是这样的,这就是标准测试工具出现的原因。
市场中有哪些可用的基准工具?
在市场中有商业产品例如Quest的Benchmark Factory,它为所有的商业和开源的数据库提供了标准测试,包括Oracle,SQL Server,DB2,MySQL和Sybase。对于那些还不确定标准测试的原则是什么并对其感到好奇却缺乏资金的数据库管理员来说,他们可以试试 SwingBench产品,因为它是免费的。Oracle UK解决方案团队开发的这个产品,是基于Java的,对Oracle数据库实施测试(支持9i和10g版本)。比较稳定的版本是发布于2007年10月 15日的2.2版本,对于热衷于测试版本的人,在下载专区有一个2.3版本可以使用。
迅速浏览一下这个架构:
Courtesy SwingBench Manual 2.1
一个样本图表:
Courtesy SwingBench Manual 2.1
1 Swingbench 简述
1.1 概述
这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。目前稳定版本2.2,最新版本2.3,基于JDK1.5。该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator和跟踪文件分析工具Trace Analyzer。
Swingbench 可以执行4种不同的标准测试(benchmark),拥有三种前端展示方式Swingbench/Charbench/Minibench,其中 Charbench是字符模式的,另外两种是GUI模式的。另外还可以通过ClusterOverview可以聚合显示所有的结果。Swingbench 的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。最新的2.3版本开始支持TimesTen内存数据库。
下载地址:www.dominicgiles/downloads.html
作者博客:www.dominicgiles/blog/blog.html
文档地址:www.dominicgiles/Swingbench.pdf
1.1 概述
这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。目前稳定版本2.2,最新版本2.3,基于JDK1.5。该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator和跟踪文件分析工具Trace Analyzer。
Swingbench 可以执行4种不同的标准测试(benchmark),拥有三种前端展示方式Swingbench/Charbench/Minibench,其中 Charbench是字符模式的,另外两种是GUI模式的。另外还可以通过ClusterOverview可以聚合显示所有的结果。Swingbench 的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。最新的2.3版本开始支持TimesTen内存数据库。
下载地址:www.dominicgiles/downloads.html
作者博客:www.dominicgiles/blog/blog.html
文档地址:www.dominicgiles/Swingbench.pdf
2 Swingbench for windows安装
2.1 解压swingbench压力测试软件
首先在作者网站上下载最新的2.3版本,文件名swingbench230422.zip,大小为9M左右
截压在D:\swingbench230422\swingbench
解压后目录结构如下图所示:
swingbench (Top Level Directory, v)
|
+-- bin (Linux/Unix executables)
| |
| +-- sample (sample config files)
| |
| +-- data (data used by benchmarks)
jdbc连接oracle | |
| +-- schema (xml schemas for config files)
|
2.1 解压swingbench压力测试软件
首先在作者网站上下载最新的2.3版本,文件名swingbench230422.zip,大小为9M左右
截压在D:\swingbench230422\swingbench
解压后目录结构如下图所示:
swingbench (Top Level Directory, v)
|
+-- bin (Linux/Unix executables)
| |
| +-- sample (sample config files)
| |
| +-- data (data used by benchmarks)
jdbc连接oracle | |
| +-- schema (xml schemas for config files)
|
+-- lib (Java *.jar)
|
+-- source (source code & build scripts for transactions)
|
+-- sql (sql scripts used by the wizards to create the schemas)
|
+-- winbin (Windows executables)
|
+-- source (source code & build scripts for transactions)
|
+-- sql (sql scripts used by the wizards to create the schemas)
|
+-- winbin (Windows executables)
2.2 安装JDK
因为运行这个软件需要java支持,我这里下载的jdk 1.5 for windows安装包
介质名为jdk-1_
2.3 安装oracle 10g 客户端
因为在windows下面是客户端,需要安装oci或jdbc连接到p595 aix服务器
介质名为10201_client_win32.zip
2.4 配置环境变量swingbenchenv.bat如下所示:
REM Set the following to reflect the root directory of your Java installation
set JAVAHOME=C:\jdk15
REM Set the following to the directory where you installed swingbench
set SWINGHOME=D:\swingbench230422\swingbench
REM Set the following to the location of your TimesTen install (optional)
set TTHOME=C:\TimesTen\tt70
REM If you don't have the ORACLE_HOME environment variable set uncomment the following and change it to reflect your environment
SET ORACLE_HOME=F:\oracle\product\10.2.0\db_1
set JAVAHOME=C:\jdk15
REM Set the following to the directory where you installed swingbench
set SWINGHOME=D:\swingbench230422\swingbench
REM Set the following to the location of your TimesTen install (optional)
set TTHOME=C:\TimesTen\tt70
REM If you don't have the ORACLE_HOME environment variable set uncomment the following and change it to reflect your environment
SET ORACLE_HOME=F:\oracle\product\10.2.0\db_1
set ANTHOME=%SWINGHOME%\lib
set CLASSPATH=%JAVAHOME%\lib\rt.jar;%SWINGHOME%\lib\mytransactions.jar;%SWINGHOME%\lib\swingbench.jar;
REM The following is needed for 10g environments
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\ojdbc14.jar;%ORACLE_HOME%opmn\lib\ons.jar
set CLASSPATH=%JAVAHOME%\lib\rt.jar;%SWINGHOME%\lib\mytransactions.jar;%SWINGHOME%\lib\swingbench.jar;
REM The following is needed for 10g environments
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\ojdbc14.jar;%ORACLE_HOME%opmn\lib\ons.jar
REM The following is only needed for 11g environments
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\ojdbc5.jar
REM The following is only needed for TimesTen environments
set CLASSPATH=%CLASSPATH%;$TTHOME/lib/classes15.jar
3 配置swingbench 连接到数据库,创建表空间,用户,表订单等
3.1 配置a文件
FSYYK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 11.4.128.89)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 11.4.128.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fsyyk)
)
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\ojdbc5.jar
REM The following is only needed for TimesTen environments
set CLASSPATH=%CLASSPATH%;$TTHOME/lib/classes15.jar
3 配置swingbench 连接到数据库,创建表空间,用户,表订单等
3.1 配置a文件
FSYYK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 11.4.128.89)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 11.4.128.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fsyyk)
)
)
3.2 运行$SWINGHOME/winbin目录下的oewizard.bat文件
输入jdbc或oci连接方法
jdbc为//主机名或ip地址:1521/sid或services_name
oci为a中的服务名以便创建表空间和用户,表结构等
jdbc为//主机名或ip地址:1521/sid或services_name
oci为a中的服务名以便创建表空间和用户,表结构等
4 运行$SWINGHOME/winbin/swingbench.bat进行压力测试
选择配好的jdbc或oci连接
然后输入用户数,相关订单事物数,就可以进行压力测试了
SwingBench 2.2有什么新特性?我喜欢的有以下特性:
∙ 它包含了一个叫做“minibench”的新的轻量级GUI负载发生器
∙ 命令行增强了像老版本的start、stop、status这样的命令
∙ 你现在可以以命令行形式或图形模式运行协调器。
∙ 现在图表引擎使用的是Oracle的BI-Beans画图技术
∙ 现在用户可以关闭SwingBench中的跳转到事件面板功能
∙ 在clusteroverview中的用户图表现在允许用户指定被监控的用户
∙ 用于coordinator/swingbench/minibench/charbench的新的命令行选项
∙ CPU监控器在charbench中输出
∙ 多个负载产生器的配置更加简单
∙ 对clusteroverview的修订
∙ 对向导的修订
∙ 输入标准测试的命令现在可以扩大到100GB
现在开始安装:
你需要安装Java虚拟机(JVM),以便在客户平台上运行SwingBench。使用
Sun的或IBM的1.4Java虚拟机。
首先下载和解压这个文件,在Windows/Linux上使用Winrar或一个zip工具来执行这个操作:
[oracle@vm01 swingbench]$ unzip swingbench
你需要修改$v(对于Linux)或$SWINGHOME/swingbenchenv.bat(对于Windows)文件来执行默认安装:
v文件是什么样子的?
#!/bin/bash
export ORACLE_HOME=/home/oracle/orasoft/product/10.2
export JAVAHOME=/usr/java/j2sdk1.4.2_09
export SWINGHOME=/home/oracle/swingbench
export ANTHOME=$SWINGHOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LOADGENHOSTS='localhost'
export LOADGENUSER=oracle
你需要修改$v(对于Linux)或$SWINGHOME/swingbenchenv.bat(对于Windows)文件来执行默认安装:
v文件是什么样子的?
#!/bin/bash
export ORACLE_HOME=/home/oracle/orasoft/product/10.2
export JAVAHOME=/usr/java/j2sdk1.4.2_09
export SWINGHOME=/home/oracle/swingbench
export ANTHOME=$SWINGHOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LOADGENHOSTS='localhost'
export LOADGENUSER=oracle
export
CLASSPATH=$JAVAHOME/lib/rt.jar:$JAVAHOME/lib/tools.jar:$ORACLE_HOME/jdbc/lib/ojdbc14.ja
r:$SWINGHOME/lib/mytransactions.jar:${SWINGHOME}/lib/swingbench.jar:$ANTHOME/ant.jar
在Unix/Linux 上clusteroverview可以通过下面的命令调用。确保在运行它之前要完成Clusteroverview配置!
[oracle@vm01 swingbench]$ cd bin
[oracle@vm01 bin]$ ./clusteroverview
CLASSPATH=$JAVAHOME/lib/rt.jar:$JAVAHOME/lib/tools.jar:$ORACLE_HOME/jdbc/lib/ojdbc14.ja
r:$SWINGHOME/lib/mytransactions.jar:${SWINGHOME}/lib/swingbench.jar:$ANTHOME/ant.jar
在Unix/Linux 上clusteroverview可以通过下面的命令调用。确保在运行它之前要完成Clusteroverview配置!
[oracle@vm01 swingbench]$ cd bin
[oracle@vm01 bin]$ ./clusteroverview
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论