fio is an I/O tool meant to be used both for benchmark and stress/hardware
verification. It has support for 6 different types of I/O engines (sync,
mmap, libaio, posixaio, SG v3, splice), 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, such as completion and
submission latencies (avg/mean/deviation), bandwidth stats, CPU, and disk
utilization, and more. It supports Linux, FreeBSD, and OpenSolaris.