Linux 下测试磁盘读写 I/O 速度的方法汇总
在分布式異構存儲系統(tǒng)中,我們經(jīng)常會需要測量獲取不同節(jié)點中硬盤/磁盤的讀寫 I/O 速度,下面是 Linux 系統(tǒng)下一些常用測試方法(之后不定期更新):
1、使用 hdparm 命令
這是一個是用來獲取ATA/IDE硬盤的參數(shù)的命令,是由早期Linux IDE驅動的開發(fā)和維護人員 Mark Lord開發(fā)編寫的( 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系統(tǒng),對于UNIX系統(tǒng),ATA/IDE硬盤用的可能比較少,一般大型的系統(tǒng)都是使用磁盤陣列的。
使用方法很簡單:
# 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。
詳細介紹:Linux下硬盤讀寫速度測試
2、使用dd命令
這不是一個專業(yè)的測試工具,不過如果對于測試結果的要求不是很苛刻的話,平時可以使用來對磁盤的讀寫速度作一個簡單的評估。另外由于這是一個免費軟件,基本上×NIX系統(tǒng)上都有安裝,對于Oracle裸設備的復制遷移,dd工具一般都是首選。
在使用前首先了解兩個特殊設備:
/dev/null 偽設備,回收站。寫該文件不會產(chǎn)生IO;
/dev/zero 偽設備,會產(chǎn)生空字符流,對它不會產(chǎn)生IO。
測試方法:
1)測試磁盤的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;當然這個速度可以多測試幾遍取一個平均值,符合概率統(tǒng)計。
2)測試磁盤的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。
3)測試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 中用 dd 命令來測試硬盤讀寫速度
3、測試linux下 fprintf fwrite write mmap 等寫文件的速度
總結
以上是生活随笔為你收集整理的Linux 下测试磁盘读写 I/O 速度的方法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql在linux下的安装(5.7版
- 下一篇: 导航条的制作