您好,登錄后才能下訂單哦!
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即為我們最關注的指標。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。