Unix Disk I/O Benchmarks


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 supports Linux, FreeBSD, NetBSD, OS X, OpenSolaris, AIX, HP-UX, and Windows.


Greatly improved disk I/O benchmark based on the code for Bonnie by Tim Bray. Bonnie++, rewritten in C++ by Russell Coker (russell@coker.com.au), adds the facility to test more than 2Gb of storage on 32-bit machines, and tests for file creat(), stat(), unlink() operations.

Bonnie v.2.0.6 - UPDATED

One of the best "open systems" benchmarks available. It can be compiled under different UNIX flavors. We have successfully run it under SCO UNIX, Linux, Solaris, and BSDI. It should also compile with minimal changes under other UNIXes.


Another great benchmark, in our opinion. The benchmark generates and measures a variety of file operations. IOzone is useful for performing broad filesystem analysis of a vendor's computer platform. It can also be used for NFS performance testing and the latest version now supports cluster testing as well. IOzone had been ported to numerous UNIX OSes and Windows NT. Read more about it and download the source by clicking on the link above.


Xbench is a a comprehensive benchmarking solution for Mac OS X. In addition to various system component benchmarks, it provides performance testing capabilities for sequential and random uncached disk I/O performance.

IOstone v. C/II

IOstone is a multi-platform disk, file I/O and buffer cache efficiencies benchmark program. This benchmark was originally created for UNIX and later ported to OS/2 and DOS. Included in this archive are the OS/2 and DOS executables with source code.


Disktest allows any direct access device (and some sequential devices) to be tested while UNIX is still available to other users. Care should be taken to make the device which is to be tested unavailable to other system users.


Excellent I/O throughput and fixed workload benchmark for UNIX. There are two versions of IOBENCH contained in sub-directories of this directory. These two versions contain the same source files and differ only in the scripts that drive the benchmark. Directory 073.iobench contains the throughput variant; directory 084.iobenchpf contains the fixed workload variant. This is the SPEC 2.6 distribution of IOBENCH.


IOCALL measures OS performance, in fact that is nearly all it measures. It also concentrates on system call interface efficiency, and especially read() system call performance, the most used system call on most systems. IOCALL is intended for UNIX systems only.


A new benchmark to measure performance of e-mail, netnews, and e-commerce classes of applications. PostMark was created to simulate heavy small-file system loads with a minimal amount of software and configuration effort and to provide complete reproducibility. It can be compiled under Solaris, Digital Unix, and Win32 environments. Learn more about the PostMark and download the source code by following the link above.


Please note that we have only collected benchmarks for measuring I/O performance. There are tools available for benchmarking various other system components.
Very often, it is very hard to get objective I/O performance results from your storage vendor. They use proprietary benchmarks or their benchmarks get tuned to their particular storage device. This makes it very hard to compare different products from different vendors. To overcome this, you can download one of the benchmarks for "open systems" we have here and then run it with different vendors' storage devices. This will give you results which can be compared against each other, thus giving you an opportunity to buy a storage solution that is right for YOUR company.
A word of caution. You can get great I/O performance results as indicated by one of the benchmarks but in a REAL APPLICATION environment at your company, the performance can be not at all up to par. If at all possible, always try to test a storage device offered to you in YOUR APPLICATION environment. DON’T just rely on benchmark results!
We hope you will find these benchmark programs helpful. Please check this page often because we will add more I/O benchmarking programs as we find them.
If you would like to send us the results of running any of the above benchmarks on your hardware, please feel free to do so. We will post the results here when we get an adequate number of responses.