即將上線的資料庫如何來評估其效能呢,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]