1. 程式人生 > >Benchmarksql 5.0 guide

Benchmarksql 5.0 guide

測試工具

os 環境: Oracle linux /Oracle 12.2 RAC+DB

  1. 從 sourceforge 下載Benchmarksql 5.0: https://sourceforge.net/projects/benchmarksql/

  2. 到寫這篇文章為止,Benchmarksql 支持Firebird,Oracle和PostgreSQL

編譯BenchMarksql:

網上關於benchmarksql5.0適用的jdk推薦1.7,筆者經過驗證1.7,1.8版本都可以,只要編譯和運行時的java版本匹配即可。

1.設置環境變量: export JAVA_HOME=/path/to/jdk export PATH=$JAVA_HOME/bin:$PATH

2.用ant編譯,在build.xml那個目錄下面執行ant命令,在ant編譯時遇到下面的錯誤:
Error: Could not find or load main class org.apache.tools.ant.launch.Launcher
解決辦法:export CLASSPATH=.:${JAVA_HOME}/lib:/usr/share/ant/lib/ant-launcher.jar

運行Benchmarksql之前需要做下準備:

  1. cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKSQLPATH/run

  2. export CLASSPATH=$BENCHMARKSQLPATH/run/ojdbc8.jar$CLASSPATH

  3. cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKSQLPATH/lib/oracle(若沒有這一步也會出現找不到oracle class的錯誤

修改 props.ora:

conn=jdbc:oracle:thin:@//scanip:1521/yourdb

通過Oracle RAC的scanip可以訪問整個oracle rac集群,yourdb部分是創建數據庫時指定的數據庫名稱,註意不要配置某個數據庫local instance的名字,這樣scan ip listene在接收到連接請求時,才會根據特定算法將請求發送到集群中的某個節點。

測試conn正確與否:sqlplus username/password@//scanip:1521/yourdb

user和password即在oracle 數據庫中配置的用戶名和密碼。

terminals=100(配置100個並發用戶),可以根據需要來自己配置。

warehouses=1000 (1000個warehouse 大約需要120多G空間,在數據庫中需要提前規劃好數據文件)

loadworkers=10

運行BenchMarksql:

cd run

./runSQL.sh props.ora ./sql.common/tableCreates.sql

nohup ./runLoader.sh props.ora >./load.log 2>&1 &

./runSQL.sh props.ora ./sql.common/indexCreates.sql

./runBenchmark.sh props.ora | tee 100.out


Benchmarksql 5.0 guide