硬碟IOPS與讀寫速度

2022-05-30 20:54:13 字數 1309 閱讀 9112

傳統磁碟本質上一種機械裝置,如fc, sas, sata磁碟,轉速通常為5400/7200/10k/15k rpm不等。影響磁碟的關鍵因素是磁碟服務時間,即磁碟完成乙個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時,必須在同樣的測試基準下進行,即便如何也會產生一定的隨機不確定性。

但是實際情況不可能達到理論最大值,尋道時間要高於3ms,常見磁碟平均物理尋道時間為:

7200轉/分的sata硬碟平均物理尋道時間是9ms

10000轉/分的sata硬碟平均物理尋道時間是6ms

15000轉/分的sas硬碟平均物理尋道時間是4ms

則iops計算為,

iops = 1000 / (9 + 60000/7200/2) = 76

iops = 1000 / (6 + 60000/10000/2) = 111

iops = 1000 / (4 + 60000/15000/2) = 166

機械硬碟:

固態硬碟:

linux測試硬碟讀寫速度

time有計時作用,dd用於複製,從if讀出,寫到of。if dev zero不產生io,因此可以用來測試純寫速度。同理of dev null不產生io,可以用來測試純讀速度。bs是每次讀或寫的大小,即乙個塊的大小,count是讀寫塊的數量。1.測 目錄所在磁碟的純寫速度 time dd if de...

linux測試硬碟讀寫速度

time有計時作用,dd用於複製,從if讀出,寫到of。if dev zero不產生io,因此可以用來測試純寫速度。同理of dev null不產生io,可以用來測試純讀速度。bs是每次讀或寫的大小,即乙個塊的大小,count是讀寫塊的數量。1.測 目錄所在磁碟的純寫速度 time dd if de...

測試Centos硬碟讀寫速度

yum install hdparm 引數 a 快取分割槽 設定讀取檔案時,預先存入塊區的分割槽數,若不加上 快取分割槽 選項,則顯示目前的設定。a 0或1 啟動或關閉讀取檔案時的快取功能。c 設定磁碟的dma模式。f 將記憶體緩衝區的資料寫入硬碟,並清楚緩衝區。g 顯示硬碟的磁軌,磁頭,磁區等引數...