linux下測試磁碟的讀寫IO速度

2021-07-10 17:36:20 字數 1694 閱讀 2662

有時候我們在做維護的時候,總會遇到類似於io特別高,但不能判定是io瓶頸還是軟體引數設定不當導致熱盤的問題.這時候通常希望能知道磁碟的讀寫速度,來進行下一步的決策.

下面是兩種測試方法:

(1)使用hdparm命令

這是乙個是用來獲取ata/ide硬碟的引數的命令,是由早期linux ide驅動的開發和維護人員 mark lord開發編寫的( hdparm has been written by mark lord , the primary developer and maintainer of the (e)ide driver for linux, with suggestions from many netfolk).該命令應該也是僅用於linux系統,對於unix系統,ata/ide硬碟用的可能比較少,一般大型的系統都是使用磁碟陣列的.

使用方法很簡單

# hdparm -tt /dev/sda

/dev/sda:

timing cached reads: 6676 mb in 2.00 seconds = 3340.18 mb/sec

timing buffered disk reads: 218 mb in 3.11 seconds = 70.11 mb/sec

可以看到,2秒鐘讀取了6676mb的快取,約合3340.18 mb/sec;

在3.11秒中讀取了218mb磁碟(物理讀),讀取速度約合70.11 mb/sec

(2)使用dd命令

這不是乙個專業的測試工具,不過如果對於測試結果的要求不是很苛刻的話,平時可以使用來對磁碟的讀寫速度作乙個簡單的評估.

另外由於這是乙個免費軟體,基本上×nix系統上都有安裝,對於oracle裸裝置的複製遷移,dd工具一般都是首選.

在使用前首先了解兩個特殊裝置

/dev/null 偽裝置,**站.寫該檔案不會產生io

/dev/zero 偽裝置,會產生空字元流,對它不會產生io

測試方法:

a.測試磁碟的io寫速度

# time dd if=/dev/zero of=/test.dbf bs=8k count=300000

300000+0 records in

300000+0 records out

10.59s real 0.43s user 9.40s system

# du -sm /test.dbf

2347 /test.dbf

可以看到,在10.59秒的時間裡,生成2347m的乙個檔案,io寫的速度約為221.6mb/sec;

當然這個速度可以多測試幾遍取乙個平均值,符合概率統計.

c.測試io同時讀和寫的速度

# time dd if=/dev/sda1 of=test.dbf bs=8k

13048+1 records in

13048+1 records out

3.73s real 0.04s user 2.39s system

# du -sm test.dbf

103 test.dbf

上面測試的資料量比較小,僅作為參考.

相比兩種方法:

前者是linux上專業的測試ide/ata磁碟的工具,但是使用範圍有侷限性;(此試驗僅僅使用了測試磁碟io的引數,對於其他引數及解釋參考man手冊)

後者可以通用,但不夠專業,也沒有考慮到快取和物理讀的區分,測試的資料也是僅作參考,不能算是權威

linux下測試磁碟的讀寫io速度

linux下測試磁碟的讀寫IO速度 簡易方法

這是乙個是用來獲取ata ide硬碟的引數的命令,是由早期linux ide驅動的開發和維護人員 mark lord開發編寫的 hdparm has been written by mark lord the primary developer and maintainer of the e ide...

linux磁碟讀寫測試

time dd 測磁碟讀寫速度 1 先熟悉兩個特殊的裝置及一些相關引數 1 time有計時作用,dd用於複製,從if讀出,寫到of 2 if dev zero 產生字元 不產生io,因此可以用來測試純寫速度 3 同理of dev null 站 無底洞 不產生io,可以用來測試純讀速度 4 將 tmp...

Linux磁碟I O讀寫速度檢測

1 讀寫測試 讀取速度可以使用命令 hdparm t 裝置名 dev sda1 讀取速度可以使用命令也可以使用 time dd if dev sda of dev null bs 1m count 3 iflag direct 寫入速度使用命令 time dd if dev zero of dev ...