天天看點

linux 硬碟測試幾種工具

【dd工具】

作業系統: ubuntu 12.04 

測試工具: dd  版本:8.21 執行dd --version來檢視

工具說明: 

  • dd指令能粗略測試硬碟IO性能
  • 不足:執行dd指令測試硬碟IO性能,對硬碟的損害很大,不建議多次或長時間嘗試.

測試指令: 

1) 讀測試 

[email protected]:/# time dd if=/dev/sdf of=/dev/null bs=8k count=100000

10000+0 records in

10000+0 records out

10485760000 bytes (10 GB) copied, 26.524 s, 395 MB/s

real    0m26.526s

user    0m0.008s

sys     0m5.364s

2) 寫測試

[email protected]:~$ time dd if=/dev/zero of=/mnt/ssd/w.bat bs=8k count=100000

100000+0 records in

100000+0 records out

819200000 bytes (819 MB) copied, 1.60734 s, 510 MB/s

real    0m1.610s

user    0m0.016s

sys     0m1.588s

3) 讀寫測試

[email protected]:~# time dd if=/dev/sdb of=/mnt/ssd/rw.bat bs=8k count=100000

100000+0 records in

100000+0 records out

819200000 bytes (819 MB) copied, 12.1117 s, 67.6 MB/s

real    0m12.118s

user    0m0.044s

sys     0m2.436s

其他說明: 後面有個參數比如:oflag=dsync

完整指令: time dd if=/dev/sdb of=/mnt/ssd/rw.bat bs=8k count=100000 oflag=dsync

加入這個參數後,dd在執行時每次都會進行同步寫入操作。也就是說,這條指令每次讀取8k後就要先把這8k寫入磁盤,然後再讀取下面這8k,一共重複10萬次。這可能是最慢的一種方式了,因為基本上沒有用到寫緩存(write cache)。加此參數後,測試最嚴格的,可以模拟資料庫的插入操作,是以很慢,可能更接近真實.

【fio工具】

作業系統: ubuntu 12.04 

測試工具: fio    

測試條件: 需安裝,執行指令: apt-get install fio

工具說明: 以順序讀為例子,指令如下:fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1, 其中rw=read表示随機讀,bs=4k表示每次讀4k,filename指定對應的分區,這裡我是/dev/sdf,direct=1表示不借助緩存 

測試指令:  

1) 順序讀

# fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1

2) 順序寫

# fio -name iops -rw=write -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1

3) 随機讀

# fio -name iops -rw=randread -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1

4) 随機寫

# fio -name iops -rw=randwrite -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1

其他說明:

1) fio是測試IOPS的非常好的工具,用來對硬體進行壓力測試和驗證,支援13種不同的I/O引擎,包括:sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet, guasi, solarisaio

2) 其他非ubuntu作業系統安裝說明

  • wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz 
  • yum install libaio-devel
  • tar -zxvf fio-2.2.5.tar.gz
  • cd fio-2.2.5
  • make && make install

【IOMeter工具】

作業系統: ubuntu 12.04 

測試工具: IOMeter 1.10

工具說明: IOMeter是一款功能非常強大的IO測試軟體,它除了可以在本機運作測試本機的IO(磁盤)性能之外,還提供了模拟網絡應用的能力

測試步驟: 

1. 從Iometer官方網站 http://www.iometer.org/ 得到安裝檔案

2. Windowns機器上安裝iometer-1.1.0-win32.i386-setup.exe,點下一步安裝即可

3. Linux主機上下載下傳并解壓:tar -jxvf iometer-1.1.0-linux.x86_64-bin.tar.bz2

4. Linux主機上運作./dynamo -i 127.0.0.1 -m 127.0.0.2   (1:WINDOWS主機,2:LINUX主機)

5. iometer使用

1) 在Disk Targets目錄下,設定測試的磁盤為(localhost --> /mnt/ssd),為所有工作機組都選擇該磁盤

2) 在Access Specifications目錄下為所有工作組選擇測試項目(可選預設的,也可添加自定義條件)

3) 在results display目錄下,選擇update frequency頻率為1點選開始測試

4) 點選開始測試 ,等待10分鐘,OK