หน้าแรก / Linux / Fio Benchmark disk

 
Ref ..  http://en.wikipedia.org/wiki/IOPS




### FIO ####
%> fio random.fio

 

#runtime=10
Ref.
http://www.thegeekstuff.com/2011/05/iozone-examples/
http://www.sparksupport.com/blog/quick-setup-of-iozone-benchmarking-tool
http://blog.cloudharmony.com/2010/06/disk-io-benchmarking-in-cloud.html

### iozone ##

0=write/rewrite
1=read/re-read
2=random-read/write
3=Read-backwards
4=Re-write-record
5=stride-read
6=fwrite/re-fwrite
7=fread/Re-fread,
8=random mix
9=pwrite/Re-pwrite
10=pread/Re-pread
11=pwritev/Re-pwritev
12=preadv/Re-preadv



$ ./iozone -i [test-type]

4. Specify the file size using iozone -s
By default, iozone will automatically create 
temporary files of size from 64k to 512M, to perform various testing

5. Specify the record size for testing using iozone -r
When you run a test, for a specific file size, it tests with different 
record sizes ranging from 4k to 16M.

ตีวอย่าง..
/opt/iozone/bin/iozone -R -l 5 -u 5 -r 4k -s 100m -F /home/f1 /home/f2 /home/f3 /home/f4 /home/f5

..
./iozone -o -i 0 -i 1 -i 2 -e -+n -r 128K -s 512M -u 1 -l 1 -F /mydata/test01

ทดสอบ 
# information disk. 

cat /sys/class/block/sda/device/model
ls -l /dev/disk/by-id/

TOSHIBA DT01ACA3

./iozone -o -i 0 -i 1 -i 2 -e -+n -r 4K -s 128M -u 1 -l 1 -F /mydata/test01

ทดสอบ write ไฟล์ ขนาด 128 M ด้วย record ขนาด 4 K โดย ใช้ /mydata/test01 เป็น tempfile.


iops calculator.

http://www.wmarow.com/strcalc/

การเพิ่ม จำนวน disk สามารถ เพิ่ม IOPS ได้ ซึงหาก เพิ่มจำ นวน disk หมายถึงการ ทำ raid.
Raid type มีผลต่อ IOPS
สำหรับ HDD ความเร็วรอบ มีผลต่อ ค่า IOPS


การคำนวณ IOPS โดยประมาณ

Ref. http://jairocetina.blogspot.com/2011/08/calculate-iops-in-disk-or-storage-array.html

Calculation 
It is very simple. Let’s suppose you have 15000 rpm disk with average seek time 2ms. 150000 rotations per minute means disk will rotate

15000 / 60s = 250 times per second

and that means that one rotation will take

1s / 250 = 4 ms

In average case it will take half of that to rotate disk platter to the right place. Now add that to the seek time and you’ll get the total time needed to serve one I/O request. Divide 1 sec (1000 ms) with 4ms + 2ms and you’ll get

1000 / 6 = 167 IOPS

An outcome with more precision is:

Model: Western Digital VelociRaptor 2.5″ SATA hard drive
Rotational speed: 10,000 RPM
Average latency: 3 ms (0.003 seconds)
Average seek time: 4.2 (r)/4.7 (w) = 4.45 ms (0.0045 seconds)
Calculated IOPS for this disk: 1/(0.003 + 0.0045) = about 133 IOPS
In a RAID is important see penalties in the following table:


## I/O Impact

RAID level Read Write
0 1 1
(10) 1 2
5 1 4
6 1 6

ถ้า DISK 15000 rpm ค่า IOPS อยู่ที่ประมาณ 167

#Plot Graf

#Test Disk
fio global.fio

#plot graf
fio_generate_plots  ceph

ทดลอง ทดสอบ  SSD

#Read write direct block size 4k

fio_generate_plots bendisk
คำสั่งในการ plots  graph

bendisk-bw bendisk-IOPS

 

 

 
 
 

Add a comment

required

required

optional