fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 13 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information. It supports Linux, FreeBSD, and OpenSolaris.
License: GNU General Public License (GPL)
Changes:
On the portability side, FreeBSD and Solaris have
been tested and should
work and build fine. Solaris also gained a native
async IO engine
and direction support. This release adds an
iodepth_batch_complete
option for controlling IO retrieval, support for
sparc and sparc64,
major internal speedups in the random map
generator, and a rewrite of
the smalloc allocator. It fixes a crash related to
the iolog option,
distribution of reads and writes in rwmix
workloads, a performance
problem in the vsync IO engine, and sysfs breakage
for newer Linux
kernels which resulted in missing disk stat output.