1. 程式人生 > 其它 >Orion測試磁碟效能

Orion測試磁碟效能

1.簡介

Orion和Oracle採用了相同的IO技術棧(Orion is expressly designed for simulating Oracle database I/O workloads using the same I/O software stack as Oracle),所以可以在不安裝Oracle資料庫的情況下,測試磁碟是否滿足資料庫的需求。

2.下載安裝

Orion下載地址

下載對應的版本後上傳到伺服器,解壓

gunzip orion_linux_x86-64.gz

3.預測資料庫的IO情況

本次測試時為了測試新儲存是否能夠滿足Oracle的需求,因為我們的Oracle資料庫的負載基本相同,所以通過檢視現有資料庫的IO情況,可以方便我們測試引數的設定

--single-block reads        1225841050
select * from v$sysstat where name='physical read total IO requests';
--multi-block reads         66884306
select * from v$sysstat where name='physical read total multi block requests';
--bytes read                    82066240613376
select * from v$sysstat where name='physical read total bytes';
--single-block writes       9139627566
select * from v$sysstat where name='physical write total IO requests';
--multi-block writes        157501520
select * from v$sysstat where name='physical write total multi block requests';
--bytes written             111921037188608
select * from v$sysstat where name='physical write total bytes';

select 111921037188608/(111921037188608+82066240613376) from dual
--通過上面的分析,目前資料庫寫佔比60%,以單塊讀寫為主

4.測試

4.1.引數介紹

# 解壓後,是一個二進位制程式,新增執行屬性
chmod +x orion_linux_x86-64
# 檢視幫助
./orion_linux_x86-64 -help
- run               #Type of workload to run (simple, normal, advanced, dss, oltp),負載的型別,其中advance可以自定義,例如讀寫比例
- testname	    #lun檔名,lun檔案中寫測試點名稱(需要滿足能執行dd if=/dev/mapper/archlog1 of=/dev/null bs=8K count=1024),會生成以testname為字首的測試報告
- num_disks	    #測試點數量
- size_small        #小IO大小,預設8KB
- size_large        #大IO大小,預設1M
- type              #隨機讀寫還是順序讀寫,預設值隨機
- num_streamIO	    #一次順序讀寫,同時幾個IO,預設是4
- write             #寫佔的比例
- duration          #每個測試點測試時長,預設60S
- num_small         #最小的壓測級別(level)
- num_large         #最大的壓測級別
- matrix #detailed  #大小隨機讀寫同時進行,basic先測試小的隨機讀,再測試大的隨機讀

4.2.測試

# 8KB大小塊,60%寫,隨機讀寫,測試OLTP型別的IOPS和延時
./orion_linux_x86-64 -run advanced -testname testa -size_small 8 -size_large 8 -write 60 -type rand -matrix detailed -duration 300
# 1M的IO,每次順序讀寫4M,測試吞吐量
./orion_linux_x86-64 -run advanced -testname testb  -size_large 1M -write 90 -type seq -matrix col -duration 600