Swingbench for oracleRAC使用方法圖解,swingbench

來源:互聯網
上載者:User

Swingbench for oracleRAC使用方法圖解,swingbench
Swingbench for oracleRAC使用方法圖解

1 Swingbench 簡述
1.1 概述
這是Oracle UK的一個員工在一個被拋棄的項目的基礎上開發的。目前穩定版本2.2,最新版本2.3,基於JDK1.5。該工具是免費的,可以在作者的網站上自由下載,並且擁有詳細的使用文檔。除了Swingbench,作者還開發了兩個相關工具:測試資料產生工具DataGenerator和追蹤檔案分析工具Trace Analyzer。
Swingbench可 以執行4種不同的標準測試(benchmark),擁有三種前端展示方式Swingbench/Charbench/Minibench,其中 Charbench是字元模式的,另外兩種是GUI模式的。另外還可以通過ClusterOverview可以彙總顯示所有的結果。Swingbench的開發目的主要是用來展示RAC的負載和測試,但也可用於單一實例環境。最新的2.3版本開始支援TimesTen記憶體資料庫
:http://www.dominicgiles.com/downloads.html
作者部落格:http://www.dominicgiles.com/blog/blog.html

  目前網路上開源的oracle壓力測試工具主要是orabm和swingbench,由於orabm不支援oracle 11g版本,因此本次測試使用了swingben進行了壓力測試。另外,swingbench還能對rac進行測試。swingbench是UK based oracle Database Solutions group開發的一個oracle壓力測試工具,好像是官方廢棄的一個項目,官方頁面http://dominicgiles.com/swingbench.html上可以下載最新的軟體版本。swingbench可以運行在windows和linux平台,本次以windows為例。

 

2. 環境配置

  測試用戶端需要安裝JDK,無需安裝oracle client端

swingbench的版本為2.4 ,直接解壓軟體壓縮包,解壓後路勁如下,因是windows下做測試 所以使用 winbin目錄下的批次檔

 

主要使用到的是如下四個bat檔案

 

主要的bat檔案作用如下:

1、  bmcompare  用來對比測試結果

2、  ccwizard  是以CC種子為模板建立的運行測試資料

3、  clusteroverview 用來啟動叢集的壓力測試,並查看測試結果

4、  coordinator 用來啟動協調伺服器

5、  minibench 用來註冊節點到協調伺服器

6、  oewizard 是以OE種子為模板建立運行測試資料

7、  shwizard 是以SH種子為模板建立運行測試資料

8、  swingbench 執行基準測試

 

3.測試

 3.1 建立測試資料

swingbench不使用客戶資料,而是按自己的規則建立測試資料,(產生的測試資料只能使用一次,測試過後 需要再次測試的話,需要重新建立測試資料,這點做的不好)

到目標目錄下 運行oewizard.bat批次檔,也可以在目錄下雙機oewizard.bat批次檔運行


會看到如下介面


下一步


下一步,輸入你需要測試的資料庫的 //ip/sid 以及sys使用者的密碼


下一步,前三項不需要修改,為swingbench自動建立的schema,只需要修改datafile的存放路徑即可。


下一步,選擇建立資料的資料量 最小100M 最大1TB, 我選擇為100GB 一般需要4-7小時,(和你硬體io效能有關)

PS:做測試時要確定對生產庫沒有影響,用swingbench測試,會佔用大量的IO,我使用的是新核心系統的新儲存,和舊的環境完全獨立,所以swingbench測試對舊生產環境沒有任何影響。


下一步,


下一步,資料開始插入,100G的資料大概要7個小時左右完成。

 

4、啟動swingbench配置

4.1、Winbin目錄下運行coordinator–g 啟動協調伺服器,如下

 

4.2、啟動swingbench配置相關壓力測試參數

 


出現如此主介面  主要參數設定 好對應的connect string,其他的參數建附錄A

設定圖上vhfs1節點圈圈內的參數,節點2同樣操作。

將資料庫OS 的ssh開啟 則可以統計主機的cpu  disk IO 資訊


也可以拉出AWR報表


設定 insert,update ,select的比例


完成後點擊儲存,退出。


 

4.3 註冊節點到註冊伺服器

 


執行如下命令:

c:\swingbench\winbin>minibench -g vhfs1-cs 192.192.5.107:1521:vhfs1 -co test &

c:\swingbench\winbin>minibench -g vhfs2-cs 192.192.5.107:1521:vhfs2 -co test &

 

命令參數詳解

-g  參數是指group組,

-cs 參數是指定測試源,

-co 參數是指定coordinatorServer,本機主機名稱是test,預設是localhost。

 

5、測試

運行./clusteroverview進行測試,依次啟動oracleRAC的兩個節點資料庫連接,如下

 

壓力測試結果如下,

   

 

 

6、測試結果統計對比

結果為XML文檔

 

 

 

可以利用bmcompare.bat 對比兩個測試結果,文法,結果會生產在本地。

c:\swingbench\winbin>bmcompare.bat  -r results00003 results00013

 

 

 

 

附錄:

A,swingbench的相關測試參數

1. swingbench GUI上的users:thenumber of users(threads) that attach to a database and the amount and tye ofwork they perform. users can dynamically monitor the responsetimes and loadwhich is displayed in a series of graphs.
這裡的users是控制同時串連到oracle的使用者數量。我們知道每個串連到oracle的使用者都將分配PGA,所以這裡應該是理解為並行度。
2. min/max think time: 每個交易之間最小/大的考慮時間。如果設定min think time,每個交易之間將間隔規定時間。
3. max trans:如果設定將限制最大的交易數量。
4. 最頂端的transaction面板:load: Indicates the "weight" of the transaction incomparison to othe transactions. A higher weight indicates that itmore likely to be run.
這個面板主要是可以取消一些固定的交易類型。load這個欄主要是用於調整整個測試中某些交易的權重。例如:browse product主要是select 語句,可以增加他的權重,表示更多的人查詢。
關於oewizard中的幾個參數:
Number of Customers: 預先載入到資料庫表中的使用者數量。
Number of Orders:預先載入到資料庫表中的Orders數量。
整個OE的測試是基於9張表的,那麼用oewizard預先載入資料量不同,測試結果是不是不同呢?
對oracle自己來說,有索引的表效能在大小一定的時候是不會有什麼區別的,但是當表的行數達到一定的程度,例如幾個億行,索引效能還不如全表掃描的效能。因此對於OE所允許的範圍,我認為表資料大小對效能影響不會很大。
Swingbench是一個壓力測試工具,其結果tpmc也是表示每分鐘所能做的交易數量。如果預先載入的資料越多,而TX中所有類型的權重固定的 話,需要調整並行users的數量,以取得一個最佳的tpms值。我之前測試的結果來看,並行user固定,預先載入的資料越多,得到的tpmc結果越小, 我也有點迷糊了,後來仔細分析了之後才發覺,應該相應修改並行users的數量。
通過修改TX panel裡的各個交易類型的權重,也可以得出oracle的一些績效參數,例如查詢加重,如果tpmc的值還差不多,說明這個資料庫的查詢能力還是不錯的。

B,TPMC介紹

按照TPC的定義,流量指標描述了系統在執行Payment、Order-status、Delivery、Stock-Level這四種交易的同時,每分鐘可以處理多少個New-Order交易。所有交易的回應時間必須滿足TPC-C測試規範的要求。
流量指標值越大越好!
TPMC計算依據
為了方便計算資料庫伺服器的造型,我們約定:
" 系統同時線上使用者數為1500人(U1);
" 平均每個使用者每分鐘發出2次業務請求(N1);
" 系統發出的業務請求中,更新、查詢、統計各佔1/3;
" 平均每次更新業務產生3個事務(T1);
" 平均每次查詢業務產生8個事務(T2);
" 平均每次統計業務產生13個事務(T3);
" 一天內忙時的處理量為平均值的5倍;
" 經驗係數為1.6;(實際工程經驗)
" 考慮伺服器保留30%的冗餘;
伺服器需要的處理能力為:
TPC-C=U1*N1*(T1+T2+T3)/3*3*經驗係數/冗餘係數
則應用伺服器的處理效能估算為:
TPC-C= 1500*2*(3+8+13)/3*5*1.6/0.7=274,285 tpmC
資料庫伺服器關係到整個系統的穩定運行,考慮到高可靠性和高可用性,並注重裝置的可擴充性和性價比,系統將配置兩台TPC-C值不小於28萬的高效能資料程式庫伺服器

 




相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.