Linux 磁盘I/O读写速度检测
生猛干貨
從系統安裝到程序員必備的Linux技能,還原真實工作場景,手把手帶你實戰演練
概述
讀取速度可以使用命令:hdparm –t 設備名(/dev/sda1)
寫入速度使用命令:time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1
測試磁盤的讀寫IO速度
有時候我們在做維護的時候,總會遇到類似于IO特別高,但不能判定是IO瓶頸還是軟件參數設置不當導致熱盤的問題.這時候通常希望能知道磁盤的讀寫速度,來進行下一步的決策.
下面是兩種測試方法:
(1)使用hdparm命令
這是一個是用來獲取ATA/IDE硬盤的參數的命令,是由早期Linux IDE驅動的開發和維護人員 Mark Lord開發編寫的( hdparm has been written by Mark Lord mlord@pobox.com, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).該命令應該也是僅用于Linux系統,對于UNIX系統,ATA/IDE硬盤用的可能比較少,一般大型的系統都是使用磁盤陣列的.
使用方法很簡單
[root@entel2 ~]# hdparm -Tt /dev/mapper/vg00-lvhome/dev/mapper/vg00-lvhome:Timing cached reads: 16690 MB in 2.00 seconds = 8357.37 MB/secTiming buffered disk reads: 352 MB in 3.02 seconds = 116.72 MB/sec [root@entel2 ~]# hdparm -Tt /dev/mapper/vg00-lvhomehdparm -Tt /dev/mapper/vg00-lvhome(2)使用dd命令
這不是一個專業的測試工具,不過如果對于測試結果的要求不是很苛刻的話,平時可以使用來對磁盤的讀寫速度作一個簡單的評估.
另外由于這是一個免費軟件,基本上×NIX系統上都有安裝,對于Oracle裸設備的復制遷移,dd工具一般都是首選.
在使用前首先了解兩個特殊設備
- /dev/null 偽設備,回收站.寫該文件不會產生IO
- /dev/zero 偽設備,會產生空字符流,對它不會產生IO
磁盤的IO寫速度:
# time dd if=/dev/zero of=/var/test bs=2k count=1000000測試磁盤的IO讀速度:
# time dd if=/var/test of=/dev/null bs=2k測試IO同時讀和寫的速度
# time dd if=/dev/sda1 of=test.dbf bs=8k命令詳解:
- time用于計時
- dd用于復制,從if讀出,寫到of。
- if=/dev/zero不產生IO,因此可以用來測試純寫速度;同理of=/dev/null不產生IO,可以用來測試純讀速度。
- bs是每次讀或寫的大小,即一個塊的大小,count是讀寫塊的數量,相乘就是讀寫數據量大小。
數據量越大越準確,多次測試取平均值。
[root@entel2 ~]# time dd if=/dev/zero of=/var/test bs=2k count=1000000 1000000+0 records in 1000000+0 records out 2048000000 bytes (2.0 GB) copied, 3.89646 s, 526 MB/sreal 0m3.910s user 0m0.122s sys 0m3.396s [root@entel2 ~]# time dd if=/var/test of=/dev/null bs=2k 1000000+0 records in 1000000+0 records out 2048000000 bytes (2.0 GB) copied, 0.92143 s, 2.2 GB/sreal 0m0.923s user 0m0.058s sys 0m0.864s[root@entel2 ~]# time dd if=/dev/sda1 of=test.dbf bs=8k 131072+0 records in 131072+0 records out 1073741824 bytes (1.1 GB) copied, 9.50776 s, 113 MB/sreal 0m9.509s user 0m0.038s sys 0m3.775s [root@entel2 ~]#上面測試的數據量比較小,僅作為參考.
相比兩種方法:
前者是linux上專業的測試IDE/ATA磁盤的工具,但是使用范圍有局限性;(此試驗僅僅使用了測試磁盤IO的參數,對于其他參數及解釋參考man手冊)
后者可以通用,但不夠專業,也沒有考慮到緩存和物理讀的區分,測試的數據也是僅作參考,不能算是權威.s
搞定Linux核心技術
總結
以上是生活随笔為你收集整理的Linux 磁盘I/O读写速度检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux-pidstat Monit
- 下一篇: Oracle查询优化-01单表查询