[IOPS]用fio測試硬碟IOPS
發表於 : 2012-05-09 10:00:53
http://www.serversaustralia.com.au/blog ... s-testing/
Recently we’ve been playing with H700 RAID cards with SSD’s. We have had some issues which will be outlined in future follow up posts with SSD’s & H700 Compatibilities.
6 x 256GB Crucial M4 Firmware 0309 all confirmed in a RAID 10 array.
Testing tool : Fio 1.38 64bit
Fio is quite easy to configure and setup in all major linux distribution. We are testing it on Debian which is quite easy to install J From CLI (command line interface) just run the following commands:
This will update the Package Index. The APT package index is essentially a database of available packages from the repositories defined in the /etc/apt/sources.list file.
To update the local package index with the latest changes made in repositories,
root@server:/# Apt-get update
This command will then install FIO from the remote repositories & any dependencies
We then want to create the actual configuration file which will have all the variables for this test , because we are utilising SSD’s it’s a good idea to setup the configuration file with the following settings
The easiest way to create the configuration file is like this:
Then you want to paste the following in:
The second last step is to create a folder where all the working/testing will take place in , in our case we created /iops in the following way:
The final step is the actual test J just run the application with the configuration file name trailing
And your output should be something like this. I have highlights the main performance outputs for you in red to compare your results! So we got roughly 19,000IOPS @ 4K Reads J Quite fast if you ask me
random: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=403
…
random: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=403
Starting 8 processes
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 2 (f=2): [_r__r___] [97.3% done] [34022K/0K /s] [8306/0 iops] [eta 00m:03s
Jobs: 2 (f=2): [_r__r___] [98.2% done] [25875K/0K /s] [6317/0 iops] [eta 00m:02s
Jobs: 2 (f=2): [_r__r___] [100.0% done] [25381K/0K /s] [6196/0 iops] [eta 00m:00
random: (groupid=0, jobs=8): err= 0: pid=3884
read : io=8192MB, bw=75793KB/s, iops=18948, runt=110678msec
clat (usec): min=82, max=39244, avg=282.17, stdev=70.87
bw (KB/s) : min= 336, max=20720, per=18.60%, avg=14099.28, stdev=930.13
cpu : usr=2.51%, sys=32.11%, ctx=2077702, majf=0, minf=588
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued r/w: total=2097152/0, short=0/0
lat (usec): 100=0.02%, 250=7.38%, 500=81.68%, 750=10.65%, 1000=0.14%
lat (msec): 2=0.10%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
Run status group 0 (all jobs):
READ: io=8192MB, aggrb=75792KB/s, minb=77611KB/s, maxb=77611KB/s, mint=110678 msec, maxt=110678msec
Disk stats (read/write):
dm-0: ios=2097110/1826990, merge=0/0, ticks=606753/2981152, in_queue=3673756, util=84.49%, aggrios=0/0, aggrmerge=0/0, aggrticks=0/0, aggrin_queue=0, aggrutil=0.00%
sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=-nan%
Recently we’ve been playing with H700 RAID cards with SSD’s. We have had some issues which will be outlined in future follow up posts with SSD’s & H700 Compatibilities.
6 x 256GB Crucial M4 Firmware 0309 all confirmed in a RAID 10 array.
Testing tool : Fio 1.38 64bit
Fio is quite easy to configure and setup in all major linux distribution. We are testing it on Debian which is quite easy to install J From CLI (command line interface) just run the following commands:
This will update the Package Index. The APT package index is essentially a database of available packages from the repositories defined in the /etc/apt/sources.list file.
To update the local package index with the latest changes made in repositories,
root@server:/# Apt-get update
This command will then install FIO from the remote repositories & any dependencies
代碼: 選擇全部
root@server:/# Apt-get install fio
The easiest way to create the configuration file is like this:
代碼: 選擇全部
root@server:/# nano random.fio
代碼: 選擇全部
[random]
rw=randread
size=1g
directory=/iops
iodepth=403
direct=1
blocksize=4k
numjobs=16
nrfiles=1
group_reporting
ioengine=sync
loops=1
代碼: 選擇全部
root@server:/# mkdir /iops
代碼: 選擇全部
root@server:/# fio random.fio
random: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=403
…
random: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=403
Starting 8 processes
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
random: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 2 (f=2): [_r__r___] [97.3% done] [34022K/0K /s] [8306/0 iops] [eta 00m:03s
Jobs: 2 (f=2): [_r__r___] [98.2% done] [25875K/0K /s] [6317/0 iops] [eta 00m:02s
Jobs: 2 (f=2): [_r__r___] [100.0% done] [25381K/0K /s] [6196/0 iops] [eta 00m:00
random: (groupid=0, jobs=8): err= 0: pid=3884
read : io=8192MB, bw=75793KB/s, iops=18948, runt=110678msec
clat (usec): min=82, max=39244, avg=282.17, stdev=70.87
bw (KB/s) : min= 336, max=20720, per=18.60%, avg=14099.28, stdev=930.13
cpu : usr=2.51%, sys=32.11%, ctx=2077702, majf=0, minf=588
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued r/w: total=2097152/0, short=0/0
lat (usec): 100=0.02%, 250=7.38%, 500=81.68%, 750=10.65%, 1000=0.14%
lat (msec): 2=0.10%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
Run status group 0 (all jobs):
READ: io=8192MB, aggrb=75792KB/s, minb=77611KB/s, maxb=77611KB/s, mint=110678 msec, maxt=110678msec
Disk stats (read/write):
dm-0: ios=2097110/1826990, merge=0/0, ticks=606753/2981152, in_queue=3673756, util=84.49%, aggrios=0/0, aggrmerge=0/0, aggrticks=0/0, aggrin_queue=0, aggrutil=0.00%
sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=-nan%