手把手系列:(一)用Benchmarksql测试Oracle数据库性能
os 環境: Oracle linux /Oracle 12C RAC(搭建rac集群請參考這里),oracle12c數據庫
從 sourceforge 下載Benchmarksql 5.0:?https://sourceforge.net/projects/benchmarksql/
到寫這篇文章為止,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之前需要做下準備:
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(若沒有這一步也會出現找不到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 遵循Benchmark規范,結果文件中的TPMC即為我們最關注的指標。
轉載于:https://blog.51cto.com/7680062/1942573
總結
以上是生活随笔為你收集整理的手把手系列:(一)用Benchmarksql测试Oracle数据库性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小学期第一次作业
- 下一篇: Sublime编辑器上的 Vim 插件常