========== iozone ==========

IOzone is designed to be a filesystem benchmark tool.  It is configured to
run on any of the ext2, ext3, reiserfs, JFS, or XFS filesystems in OSDL STP.
The benchmark generates and measures a variety of file operations, such
as:  sequential read, sequential write, read strided (RAID), fread,
fwrite, random read, and random write.  It also supports using multiple
I/O threads.  However, all of its I/Os are in the same direction and of
fixed sizes in each size group.  It is designed to measure filesystem
performance at a variety of I/O request sizes and to produce a report
showing the relationship between throughput and I/O request size.

IOzone is a complete system benchmark (file system, disk drivers,
disk subsystem, RAID, memory bus, memory subsystem, OS system calls).
However, for comparing file systems, it is best used in its "buffer cache
performance comparison" mode [opinion].  This mode uses file sizes
that are smaller than the buffer cache so that actual disk I/O is limited
and the filesystem code becomes more critical.

IOzone can show differences in I/O throughput when the file size is
contained in processor cache, OS cache (RAM), and too large to fit
into cache.  Sometimes these three levels (or plateaus) are visible
in the data, especially when graphed.

IOzone can also be used to show throughput performance as a function of
number of processes and number of disks being used in a filesystem,
such as RAID striping.