I ran a test to measure my I/O IOPS on Linux:
iozone -s 4g -r 2k -r 4k -r 8k -r 16k -r 32k -O -b /tmp/results.xls
iozone claims that output is in operations per second yet the numbers are too big for that to be plausible. I'm observing some 320 CMDs/s maximum on vmware esx console (esxtop, then v).
File size set to 4194304 KB
Record Size 2 KB
Record Size 4 KB
Record Size 8 KB
Record Size 16 KB
Record Size 32 KB
OPS Mode. Output is in operations per second.
Command line used: iozone -s 4g -r 2k -r 4k -r 8k -r 16k -r 32k -O -b tmpresults.xls
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
4194304 2 19025 5580 27581 29848 284 198 415 1103217 1498 18541 4340 24245 25618
4194304 4 15650 21942 18962 21068 252 1198 193 976164 1677 22802 23093 21089 21232
4194304 8 11121 11638 10273 10165 247 1196 202 625020^C
The test ran for 15 hours before I pressed ^C. Is that ordinary expectation for such command line (dedicated 4 drive RAID10 LUN, 10k RPM SAS drives in EMC CX300)?
Best Answer
It's strange that there doesn't seem to be a standard for IOPS measurement in Linux. These questions come up often when people are asked to provide an estimate of IOPS for capacity planning or storage sizing. I end up using multiple tools to gain this info. First, you'll need to generate a load using the method of your choice; either a representative application load, or something like the iozone test you had above.
In another window, track IOPS using
iostat -dxk 1
, summing the r/s and w/s columns OR using IBM's nmon tool with theD
option to track theXfers
column (which is essentially the sum of iostat's r/s and w/s).Here's
nmon
output from a heavy sequential read usingbonnie++ -u root -n 64:100000:16:64
(run from within the target directory). At this point, we're showing ~3200 IOPS while reading at about 258 Megabytes/second on a 6-disk RAID 1+0 array of 15k RPM SAS drives.