您好,登錄后才能下訂單哦!
二. IOPS 說明
2.1 IOPS (Input/OutputPer Second)
IOPS 即每秒的輸入輸出量(或讀寫次數),是衡量磁盤性能的主要指標之一。
IOPS是指單位時間內系統能處理的I/O請求數量,一般以每秒處理的I/O請求數量為單位,I/O請求通常為讀或寫數據操作請求。隨機讀寫頻繁的應用,
如OLTP(OnlineTransaction Processing),IOPS是關鍵衡量指標。
另一個重要指標是數據吞吐量(Throughput),指單位時間內可以成功傳輸的數據數量。對于大量順序讀寫的應用,如VOD(Video On Demand),則更關注吞吐量指標。
傳統磁盤本質上一種機械裝置,如FC, SAS, SATA磁盤,轉速通常為5400/7200/10K/15K rpm不等。影響磁盤的關鍵因素是磁盤服務時間,即磁盤完成一個I/O請求所花費的時間,它由尋道時間、旋轉延遲和數據傳輸時間三部分構成。
(1)尋道時間
Tseek是指將讀寫磁頭移動至正確的磁道上所需要的時間。尋道時間越短,I/O操作越快,目前磁盤的平均尋道時間一般在3-15ms。
(2)旋轉延遲
Trotation是指盤片旋轉將請求數據所在扇區移至讀寫磁頭下方所需要的時間。旋轉延遲取決于磁盤轉速,通常使用磁盤旋轉一周所需時間的1/2表示。
比如,7200 rpm的磁盤平均旋轉延遲大約為60*1000/7200/2 = 4.17ms,而轉速為15000 rpm的磁盤其平均旋轉延遲約為2ms。
(3)數據傳輸時間
Ttransfer是指完成傳輸所請求的數據所需要的時間,它取決于數據傳輸率,其值等于數據大小除以數據傳輸率。
目前IDE/ATA能達到133MB/s(MBPS),SATA II可達到300MB/s的接口數據傳輸率,數據傳輸時間通常遠小于前兩部分時間。
IOPS(每秒IO次數) = 1s/(尋道時間+旋轉延遲+數據傳輸時間)
因此,理論上可以計算出磁盤的最大IOPS,即IOPS = 1000ms/ (Tseek + Troatation),忽略數據傳輸時間。假設磁盤平均物理尋道時間為3ms, 磁盤轉速為7200,10K,15Krpm,則磁盤IOPS理論最大值分別為:
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
2.2 固態硬盤的IOPS
固態硬盤SSD是一種電子裝置, 避免了傳統磁盤在尋道和旋轉上的時間花費,存儲單元尋址開銷大大降低,因此IOPS可以非常高,能夠達到數萬甚至數十萬。
實際測量中,IOPS數值會受到很多因素的影響,包括I/O負載特征(讀寫比例,順序和隨機,工作線程數,隊列深度,數據記錄大小)、系統配置、操作系統、磁盤驅動等等。
因此對比測量磁盤IOPS時,必須在同樣的測試基準下進行,即便如何也會產生一定的隨機不確定性。
通常情況下,IOPS可細分為如下幾個指標:
Toatal IOPS:混合讀寫和順序隨機I/O負載情況下的磁盤IOPS,這個與實際I/O情況最為相符,大多數應用關注此指標。
Random Read IOPS:100%隨機讀負載情況下的IOPS。
Random WriteIOPS:100%隨機寫負載情況下的IOPS。
Sequential ReadIOPS:100%順序負載讀情況下的IOPS。
Sequential WriteIOPS:100%順序寫負載情況下的IOPS。
三.ORION 工具說明
ORION (OracleI/O Calibration Tool) Oracle 公司推出的一個校準數據庫的存儲系統 I/O 性能的獨立工具。有關該工具的說明,參考:
Oracle ORION IO 測試工具
http://blog.csdn.net/tianlesoftware/article/details/5965331
我們使用ORION 工具測試一下看看:
[root@qs-xe-dzora-pd software]# cat dave.lun
/dev/sdb1
[root@qs-xe-dzora-pd software]# ./orion_linux_x86-64 -run advanced -testname dave -num_disks 2
ORION: ORacle IO Numbers -- Version11.1.0.7.0
dave_20111026_2026
Test will take approximately 16 minutes
Larger caches may take longer
查看生成的結果:
[root@qs-xe-dzora-pd software]# ls dave*
dave_20111026_2026_iops.csv dave_20111026_2026_summary.txt dave.lun_20111026_2025_summary.txt
dave_20111026_2026_lat.csv dave_20111026_2026_trace.txt
dave_20111026_2026_mbps.csv dave.lun
[root@qs-xe-dzora-pd software]# cat dave_20111026_2026_summary.txt
ORION VERSION 11.1.0.7.0
Commandline:
-run advanced -testname dave -num_disks 2
This maps to this test:
Test: dave
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large RandomIOs
Simulated Array Type: CONCAT
Write: 0%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:, 0
Large Columns:, 0, 1, 2, 3, 4
Total Data Points: 15
Name: /dev/sdb1 Size: 449495069184
1 FILEs found.
Maximum Large MBPS=159.61 @ Small=0 andLarge=4 #<----159.61M為吞吐量
Maximum Small IOPS=534 @ Small=10 andLarge=0
Minimum Small Latency=4.97 @ Small=1 andLarge=0
這里顯示的吞吐量是160MBPS. IOPS 為534.
實驗:4塊物理硬盤,4塊做raid5和2塊盤分別raid0+1的讀性能比較。由于寫會往本地盤寫入數據,暫時沒有測試
工具:Oracle orign
4塊物理盤做 raid 5
Name: /dev/sda2 Size: 896884531200
1 FILEs found.
Maximum Large MBPS=93.94 @ Small=0 and Large=2
Maximum Small IOPS=425 @ Small=5 and Large=0
Minimum Small Latency=7.63 @ Small=1 and Large=0
4塊物理盤,兩兩分別作raid0,算作一個小型的raid0+1,測試結果如下
Name: /dev/sda2 Size: 298388482560
Name: /dev/sdb1 Size: 298495378944
2 FILEs found.
Maximum Large MBPS=205.89 @ Small=0 and Large=4
Maximum Small IOPS=835 @ Small=10 and Large=0
Minimum Small Latency=5.33 @ Small=1 and Large=0
測試結果
無論中MBPS、IOPS還是Latency,raid0+1的性能效果都要遠遠優于raid5,按照原來寫操作的性能應該更好。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。