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

來源:互聯網
上載者:User

有時候我們在做維護的時候,總會遇到類似於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 偽裝置,會產生Null 字元流,對它不會產生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;

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

  b.測試磁碟的IO讀速度

  # df -m

  Filesystem 1M-blocks Used Available Use% Mounted on

  /dev/mapper/VolGroup00-LogVol00

  19214 9545 8693 53% /

  /dev/sda1 99 13 82 14% /boot

  none 506 0 506 0% /dev/shm

  # time dd if=/dev/mapper/VolGroup00-LogVol00 of=/dev/null bs=8k

  2498560+0 records in

  2498560+0 records out

  247.99s real 1.92s user 48.64s system

  上面的實驗在247.99秒的時間裡讀取了19214MB的檔案,計算下來平均速度為77.48MB/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手冊)

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.