1.24.2008

iozone for filesystem I/O testing

iozone (http://www.iozone.org/) is a filesystem benchmark tool, I found it particularly useful to benchmark and test throughput when we were experiencing slowness over NFS to our NetApp filer.

Here's some common options:
-c Include close in the timing calculations
-e Include flush (fsync,fflush) in the timing calculations
-s # file size in Kb
or -s #m .. size in Mb
or -s #g .. size in Gb
-r # record size in Kb
or -r #m .. size in Mb
or -r #g .. size in Gb
-i # Test to run (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)
-+n No retests selected.
-f filename to use
-w Do not unlink temporary file # good to keep files for read tests =]
And, here's some examples:
### Write speed test:
# iozone -c -s 1g -r 32k -i0 -+n -w -f ./single_thread_write_test.out

### Read test (unmount/remount the file system to clear cache, or you'll be getting the
throughput from RAM):
# iozone -c -s 1g -r 32k -i1 -+n -w -f ./single_thread_write_test.out

### Multiple thread write test:
iozone -T -c -s 1g -r 32k -i0 -u6 -l6 -+n -w -F ./rac3_mt1.out ./rac3_mt2.out ./rac3_mt3.out ./rac3_mt4.out ./rac3_mt5.out ./rac3_mt6.out

1 comment:

Anonymous said...

the read test will take the file written by the write process of iozone...but in its manual it is written that -i0 is necessary in every command