fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 19 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, including complete IO latencies and percentiles. Fio is in wide use in many places, for both benchmarking, QA, and verification purposes. It supports Linux, FreeBSD, NetBSD, OpenBSD, OS X, OpenSolaris, AIX, HP-UX, Android, and Windows.
System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.
A few build issues were fixed on a few select platforms, where issues with CC override or missing CPU clock support would break compilation. Setting of size= for zipf/pareto workloads was fixed. Floating math for CPU clock was sped up and improved, further reducing overhead. A potential null pointer dereference on IO verification and requeue events was fixed.
Android platform support was added. Memory consumption on Windows when using many files was reduced. Support for non-uniform random IO was added, using pareto/zipf distributions. A faster LFSR random generator was provided. Various fixes and improvements were made in the network engine. Ping-pong network IO is now supported. The default clock was sped up, and accuracy of the CPU clock was improved. A potential bi-modal performance issue on Linux with multiple processes and O_DIRECT was fixed. A timekeeping race bug with threads was fixed. NUMA job and memory control options were added. A bug in the CPU load engine was fixed. There were various other fixes and improvements.
This release updates the Windows port, which is now full 64-bit using MingGW instead of Cygwin. It has support for token-based flow control between jobs. It fixes disk slave output in terse output format. It fixes attempts to switch zones without zones enabled, which caused verify failure. It adds checksums to verify headers, to be able to verify those separately on load from disk. Speedup pattern verification. A fix for not calculating latency statistics when doing read verifies. A fix for logging of IOPS and BW on mixed workloads. This release merges crc32c and crc32c-intel verify formats, and will always use hardware-assisted crc32c if available.
A major overhaul was undertaken, splitting the front and back ends. Fio can now be run as a server and a client, and it is possible to control jobs on multiple machines from a single client. Cheap and simple data scrambling is now used by default to defeat SSD compression/de-duplication. Completion latency percentile support was added. The terse output format was revised to version 3, adding disk utilization, IOPS, and latency percentiles. Pattern verifies were sped up. Various fixes were included for FreeBSD, Windows, HP-UX, Mac OS X, and AIX.
This release adds an RDMA IO engine, adds support for direct userspace reaping of completed events with libaio IO engine, ensures that bool options also work if given a parameter, adds support for "holed" IO patterns, fixes a latency reporting bug, fixes a disk utilization bug for delayed jobs, adds resolution support to fio_generate_plots, fixes summed computation of standard deviation, adds completion latency percentile support, and fixes lots of other minor bugs.