使用Swingbench实现Oracle数据库压力测试

即将上线的数据库如何来评估其性能呢,swingbench是除了Benchmark Factory for Databases的不二之选,可以用短小精悍来形容,而且完全免费,也不用成天到晚google注册码,还等什么呢,赶紧来瞧瞧......

一、swingbench介绍

是JAVA程序,当前分为两个版本,一个是2.3,一个是2.4,支持windons/linux/unix平台,测试了一下win7 64平台,运行不太稳定

支持Oracle 单实例以及Oracle RAC,支持Oracle 10g,11g。运行环境需要安装oracle 客户端或者instant client

包含OrderEntry, SalesHistory, CallingCircle and StressTest几个种子数据库,具体描述参见作者网站

软件由load generator,coordinator,cluster overview组成,可以生成负载以及事务,响应时间并以图表方式展示

从作者网站下载swingbench,http://www.dominicgiles.com/downloads.html

如果下载最新的2.4版,则需要安装java(6) 1.6或以上版本,无需修改任何配置文件。

如果下载2.3版本的则,则需要安装java 1.5或以上版本则需要修改swingbench.env配置文件

由于2.4的版本直接运行即可(安装java 6以及Oracle客户端),因此本文以2.3版本进行描述。

二、安装前的准备工作

1、确认安装的平台与java,oracle相关配置 
  oracle@SZDB:~> cat /etc/issue    #查看系统版本 
   
  Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l). 
   
  oracle@SZDB:~> java -version  #使用这个方式即可确认jave当前的版本 
  java version "1.5.0_22" 
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) 
  Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode) 
   
  SZDB:/ # find / -name java |grep jdk  #查看java路径 
  /usr/java/jdk1.5.0_22/bin/java 
  /usr/java/jdk1.5.0_22/jre/bin/java 
  /users/oracle/OraHome10g/jdk/bin/java 
  /users/oracle/OraHome10g/jdk/jre/bin/java 
 
  oracle@SZDB:~> env | grep ORACLE_HOME 
  ORACLE_HOME=/users/oracle/OraHome10g 
 
2、安装配置swingbench 
  使用ftp工具将下载的zip文件上传导linux服务器,本文使用的为winscp。 
  上传解压后的路径及文件如下: 
  oracle@SZDB:~/robinson/swingbench> pwd 
  /users/oracle/robinson/swingbench 
  oracle@SZDB:~/robinson/swingbench> ls 
  bin  lib  README.txt  source  sql  swingbench.env  swingbenchenv.bat  winbin 
  oracle@SZDB:~/robinson/swingbench> vi swingbench.env 
  #!/bin/bash 
  # Set the following to reflect the root directory of your Java installation 
  export JAVAHOME=/usr/java/jdk1.5.0_22    #修改此路径为正确的路径 
  # Set the following to the directory where you installed swingbench 
  export SWINGHOME=/users/oracle/robinson/swingbench  #修改此路径为正确的路径 
  # Set the following to the location of your TimesTen install (optional) 
  export TTHOME=/opt/TimesTen/tt70 
  # If you don't have the ORACLE_HOME environment variable set uncomment the following and change it to reflect your environment 
  export ORACLE_HOME=/users/oracle/OraHome10g  #修改此路径为正确的路径 
  # 
  export ANTHOME=$SWINGHOME/lib 
  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib:$TTHOME/lib 
  export CLASSPATH=$JAVAHOME/lib/rt.jar:$JAVAHOME/lib/tools.jar:$SWINGHOME/lib/mytransactions.jar: 
    ${SWINGHOME}/lib/swingbench.jar:$ANTHOME/ant.jar: 
  # The following is needed for 10g environments 
  export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/ojdbc14.jar:$ORACLE_HOME/opmn/lib/ons.jar 
  # The following is only needed for 11g environments 
  export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/ojdbc5.jar 
  # The following is only needed for TimesTen environments 
  export CLASSPATH=$CLASSPATH:$TTHOME/lib/classes15.jar 
 
3、安装soe schema 
  启动Xmanager - Passive,也可以直接remote到linux后执行命令以期用GUI界面 
  oracle@SZDB:~/robinson/swingbench> export DISPLAY=192.168.7.133:0.0 
  oracle@SZDB:~/robinson/swingbench> cd bin 
  oracle@SZDB:~/robinson/swingbench/bin> ./oewizard  #使用GUI向导安装oe schema 
  soe@SYBO2SZ> @dba_tables_user  #检查安装soe的结果 
   
  Table Name                    Tablespace                  Last Analyzed          # of Rows 
  ------------------------------ ---------------------------- -------------------- ------------ 
  CUSTOMERS                      SOE                          16-NOV-2012 16:11:31    1,000,411 
  INVENTORIES                    SOE                          16-NOV-2012 16:11:48        5,760 
  LOGON                          SOE                          16-NOV-2012 16:11:48            0 
  ORDERS                        SOE                          16-NOV-2012 16:11:55    1,000,000 
  ORDER_ITEMS                    SOE                          16-NOV-2012 16:12:13    3,503,005 
  PRODUCT_DESCRIPTIONS          SOE                          16-NOV-2012 16:12:20          288 
  PRODUCT_INFORMATION            SOE                          16-NOV-2012 16:12:20          288 
  WAREHOUSES                    SOE                          16-NOV-2012 16:12:20          20 
   
  #Author : Robinson 
  #Blog : http://blog.csdn.net/robinson_0612 
  oracle@SZDB:~/robinson/swingbench/bin> ./swingbench  #开始实施swingbench 
  Started Swingbench, Version 2.3.0.422. Using config file swingconfig.xml 
  BI Beans Graph version [2.7.5.32] Engine version [2.7.5.32] 

相关推荐