磁碟的IOPS計算與測量
IOPS 是指單位時間內系統能處理的I/O請求數量,一般以每秒處理的I/O請求數量為單位,I/O請求通常為讀或寫資料操作請求。隨機讀寫頻繁的應用,如OLTP,IOPS是關鍵衡量指標。
資料吞吐量(Throughput),指單位時間內可以成功傳輸的資料數量。對於大量順序讀寫的應用,如VOD(Video On Demand),則更關注吞吐量指標。
磁碟完成一個I/O請求所花費的時間,它由尋道時間、旋轉延遲和資料傳輸時間三部分構成。
尋道時間Tseek是指將讀寫磁頭移動至正確的磁軌上所需要的時間。尋道時間越短,I/O操作越快,目前磁碟的平均尋道時間一般在3-15ms。
旋轉延遲Trotation是指碟片旋轉將請求資料所在扇區移至讀寫磁頭下方所需要的時間。旋轉延遲取決於磁碟轉速,通常使用磁碟旋轉一週所需時間的1/2表示。比如,7200 rpm的磁碟平均旋轉延遲大約為60*1000/7200/2 = 4.17ms,而轉速為15000 rpm的磁碟其平均旋轉延遲約為2ms。
資料傳輸時間Ttransfer是指完成傳輸所請求的資料所需要的時間,它取決於資料傳輸率,其值等於資料大小除以資料傳輸率。目前IDE/ATA能達到133MB/s,SATA II可達到300MB/s的介面資料傳輸率,資料傳輸時間通常遠小於前兩部分時間。
因此,理論上可以計算出磁碟的平均最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略資料傳輸時間。假設磁碟平均物理尋道時間為3ms, 磁碟轉速為7200,10K,15K rpm,則磁碟IOPS理論最大值分別為,
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
固態硬碟SSD是一種電子裝置, 避免了傳統磁碟在尋道和旋轉上的時間花費,儲存單元定址開銷大大降低,因此IOPS可以非常高,能夠達到數萬甚至數十萬。實際測量中,IOPS數值會受到很多因素的影響,包括I/O負載特徵(讀寫比例,順序和隨機,工作執行緒數,佇列深度,資料記錄大小)、系統配置、作業系統、磁碟驅動等等。
因此對比測量磁碟IOPS時,必須在同樣的測試基準下進行,即便如何也會產生一定的隨機不確定性。通常情況下,IOPS可細分為如下幾個指標:
Toatal IOPS,混合讀寫和順序隨機I/O負載情況下的磁碟IOPS,這個與實際I/O情況最為相符,大多數應用關注此指標。
Random Read IOPS,100%隨機讀負載情況下的IOPS。
Random Write IOPS,100%隨機寫負載情況下的IOPS。
Sequential Read IOPS,100%順序負載讀情況下的IOPS。
Sequential Write IOPS,100%順序寫負載情況下的IOPS。
IOPS的測試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用於測試磁碟在不同情形下的IOPS。對於應用系統,需要首先確定資料的負載特徵,然後選擇合理的IOPS指標進行測量和對比分析,據此選擇合適的儲存介質和軟體系統。
關於磁碟IOPS資料可以參考。
資料吞吐量(Throughput),指單位時間內可以成功傳輸的資料數量。對於大量順序讀寫的應用,如VOD(Video On Demand),則更關注吞吐量指標。
磁碟完成一個I/O請求所花費的時間,它由尋道時間、旋轉延遲和資料傳輸時間三部分構成。
尋道時間Tseek是指將讀寫磁頭移動至正確的磁軌上所需要的時間。尋道時間越短,I/O操作越快,目前磁碟的平均尋道時間一般在3-15ms。
旋轉延遲Trotation是指碟片旋轉將請求資料所在扇區移至讀寫磁頭下方所需要的時間。旋轉延遲取決於磁碟轉速,通常使用磁碟旋轉一週所需時間的1/2表示。比如,7200 rpm的磁碟平均旋轉延遲大約為60*1000/7200/2 = 4.17ms,而轉速為15000 rpm的磁碟其平均旋轉延遲約為2ms。
資料傳輸時間Ttransfer是指完成傳輸所請求的資料所需要的時間,它取決於資料傳輸率,其值等於資料大小除以資料傳輸率。目前IDE/ATA能達到133MB/s,SATA II可達到300MB/s的介面資料傳輸率,資料傳輸時間通常遠小於前兩部分時間。
因此,理論上可以計算出磁碟的平均最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略資料傳輸時間。假設磁碟平均物理尋道時間為3ms, 磁碟轉速為7200,10K,15K rpm,則磁碟IOPS理論最大值分別為,
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
固態硬碟SSD是一種電子裝置, 避免了傳統磁碟在尋道和旋轉上的時間花費,儲存單元定址開銷大大降低,因此IOPS可以非常高,能夠達到數萬甚至數十萬。實際測量中,IOPS數值會受到很多因素的影響,包括I/O負載特徵(讀寫比例,順序和隨機,工作執行緒數,佇列深度,資料記錄大小)、系統配置、作業系統、磁碟驅動等等。
因此對比測量磁碟IOPS時,必須在同樣的測試基準下進行,即便如何也會產生一定的隨機不確定性。通常情況下,IOPS可細分為如下幾個指標:
Toatal IOPS,混合讀寫和順序隨機I/O負載情況下的磁碟IOPS,這個與實際I/O情況最為相符,大多數應用關注此指標。
Random Read IOPS,100%隨機讀負載情況下的IOPS。
Random Write IOPS,100%隨機寫負載情況下的IOPS。
Sequential Read IOPS,100%順序負載讀情況下的IOPS。
Sequential Write IOPS,100%順序寫負載情況下的IOPS。
IOPS的測試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用於測試磁碟在不同情形下的IOPS。對於應用系統,需要首先確定資料的負載特徵,然後選擇合理的IOPS指標進行測量和對比分析,據此選擇合適的儲存介質和軟體系統。
關於磁碟IOPS資料可以參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2145598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 磁碟IOPS的計算
- 機械磁碟iops說明及計算方法
- 計算IOPS
- linux 使用FIO測試磁碟iopsLinux
- 根據AWR計算IOPS與MBPS
- 如何計算硬碟、RAID組與Ceph的IOPS!!!硬碟AI
- 磁碟效能評價指標—IOPS和吞吐量指標
- 【儲存】如何計算IOPS ?
- 淺談RAID寫懲罰(Write Penalty)與IOPS計算AI
- 桌面虛擬化IOPS計算方法薦
- SSD與Fusion IO 實測隨機讀寫 IOPS隨機
- Python科學測量與計算庫Pymeasure: 控制你的儀器進行自動測試和科學計算Python
- 用於測量磁碟活動的 Linux 命令Linux
- 磁碟陣列可靠度的計算陣列
- 磁碟磁軌計算題
- 對機械硬碟和SSD固態硬碟IOPS、吞吐量的壓測對比硬碟
- 看板數量的計算
- 用ORACLE自帶包測試FUSIONIO的IOPSOracle
- 如何通過Linux 命令測量磁碟活動Linux
- oracle iops與mbps小記Oracle
- [zt]磁碟 RAID10 / RAID5 配置下的IOPS對比AI
- 叢集搭建完成簡要測試叢集(效能)頻寬與IOPS
- 矩陣乘法的運算量計算(華為OJ)矩陣
- 計算莊家的持倉量
- 計算session的日誌生成量Session
- 計算歸檔日誌所需要的磁碟空間
- 如何確定計算節點能不能檢測到儲存節點上的磁碟
- 邊緣計算與雲端計算的未來
- 邊緣計算與雲端計算
- oracle 10g rac +asm 進行加物理磁碟與減物理磁碟的測試Oracle 10gASM
- 雲端計算與網格計算的深入比較
- 蘇州能源計量檢測與能效統計管理系統
- [Q]怎麼樣快速計算事務的時間與日誌量 zt
- 卷積神經網路的引數量和計算量卷積神經網路
- 網格計算與雲端計算(PPT)
- ORION可以模式Oracle資料庫的IO測試IOPS,MBPS模式Oracle資料庫
- Linux雲端計算-06_Linux磁碟管理Linux
- 如何計算並測量ABAP及Java程式碼的環複雜度Cyclomatic complexityJava複雜度