手把手系列:(一)用Benchmarksql测试Oracle数据库性能
os 環(huán)境: Oracle linux /Oracle 12C RAC(搭建rac集群請參考這里),oracle12c數(shù)據(jù)庫
從 sourceforge 下載Benchmarksql 5.0:?https://sourceforge.net/projects/benchmarksql/
到寫這篇文章為止,Benchmarksql 支持Firebird,Oracle和PostgreSQL
編譯BenchMarksql:
網(wǎng)上關(guān)于benchmarksql5.0適用的jdk推薦1.7,筆者經(jīng)過驗證1.7,1.8版本都可以,只要編譯和運行時的java版本匹配即可。
1.設(shè)置環(huán)境變量: export JAVA_HOME=/path/to/jdk ?export PATH=$JAVA_HOME/bin:$PATH
2.用ant編譯,在build.xml那個目錄下面執(zhí)行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之前需要做下準備:
cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKSQLPATH/run
export?CLASSPATH=$BENCHMARKSQLPATH/run/ojdbc8.jar$CLASSPATH
cp?$ORACLE_HOME/jdbc/lib/ojdbc8.jar?$BENCHMARKSQLPATH/lib/oracle(若沒有這一步也會出現(xiàn)找不到oracle class的錯誤
修改 props.ora:
conn=jdbc:oracle:thin:@//scanip:1521/yourdb
通過Oracle RAC的scanip可以訪問整個oracle rac集群,yourdb部分是創(chuàng)建數(shù)據(jù)庫時指定的數(shù)據(jù)庫名稱,注意不要配置某個數(shù)據(jù)庫local instance的名字,這樣scan ip listene在接收到連接請求時,才會根據(jù)特定算法將請求發(fā)送到集群中的某個節(jié)點。
測試conn正確與否:sqlplus username/password@//scanip:1521/yourdb
user和password即在oracle 數(shù)據(jù)庫中配置的用戶名和密碼。
terminals=100(配置100個并發(fā)用戶),可以根據(jù)需要來自己配置。
warehouses=1000 (1000個warehouse 大約需要120多G空間,在數(shù)據(jù)庫中需要提前規(guī)劃好數(shù)據(jù)文件)
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 遵循Benchmark規(guī)范,結(jié)果文件中的TPMC即為我們最關(guān)注的指標。
轉(zhuǎn)載于:https://blog.51cto.com/7680062/1942573
總結(jié)
以上是生活随笔為你收集整理的手把手系列:(一)用Benchmarksql测试Oracle数据库性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小学期第一次作业
- 下一篇: PHP 自学教程之MySQL数据库