I/O performance benchmarking tools at a glance
There are multiple I/O benchmarking tools to measure I/O performance. In this article, we provide an overview about different tools.
Block device benchmarks
Block device benchmarks access an unformatted block device (such as a hard disk, SSD, or RAID array) directly. They are especially suitable for comparing different hard drives, SSDs, RAID-controllers, etc...
Block device benchmark overview
The most block device benchmarks, that are listed here, also allow the specification of files in a file system (so they can also be used as file system benchmarks):
| dd | fio | Iometer | spew | vdbench | |
|---|---|---|---|---|---|
| Threads | Single-Thread | Multi-Thread
(numjobs Parameter) |
Multi-Thread | Single-Thread | Multi-Thread |
| Regular I/O support | yes | yes | yes | yes | yes |
| Direct I/O support | yes
|
yes
|
no
Iometer offers a |
yes
|
yes
|
| Synchronous I/O support | yes
|
yes
|
yes
|
yes
| |
| More information |
File system benchmarks
File system benchmarks unlike block device benchmarks, they do not directly access an unformatted block device. The device must be formatted with a file sytem. File system benchmarks mainly serve to measure the performance of different file systems (for example ext3 compared to xfs) one after the other on the same block device.
Examples for file system benchmarks:
- IOzone - Note on IOzone under Windows: The Windows binaries available on the IOzone website crash regularly under current Windows versions (2008 R2 64-bit). However, you can use IOzone with these current Windows versions if you build IOzone from the sources against a current version of Cygwin > 1.7 (
./configure && make). To use the new binary independently of a Cygwin environment, you must copy some Cygwin DLLs to the iozone directory. - dbench
I/O performance measurements
In addition to these benchmark tools, that generate I/O load as well as measure I/O transfer, there are also tools that only measure the I/O performance without generating load. These tools are helpful, when a system is too slow and when you are looking for the performance bottleneck.
Examples for tools to measure I/O performance:
References
- ↑ Iometer User's Guide Version 2003.12.16 chapter 15.3 Ramp Up Time, page 62:
- The Ramp Up Time field specifies the number of seconds Iometer waits, after all workers report that they have begun working, before beginning to record statistics on each test. You can use this field to avoid recording any statistics during an initial “ramp-up” period (for example, while caches are filled with data). The default value is zero.
- Typical ramp-up times vary from 15 to 60 seconds. Ramp-up time may need to be increased for caching controllers, large servers, or clustered systems.
- ↑ Vdbench 5.0.2 documentation, chapter 1.16.12‘openflags=’: control over open and close of luns or files, page 44
More information
- http://wikis.sun.com/display/BluePrints/Solid+State+Drives+in+HPC+-+Reducing+the+IO+Bottleneck
- http://www.mysqlperformanceblog.com/2009/03/02/ssd-xfs-lvm-fsync-write-cache-barrier-and-lost-transactions/
- Phoronix Testing Suite (see also http://wiki.ubuntuusers.de/Phoronix_Testing_Suite, http://en.wikipedia.org/wiki/Phoronix_Testing_Suite, http://www.heise.de/software/download/phoronix_testing_suite/56799)
- http://www.ssd-test.de
|
Author: Werner Fischer Werner Fischer, working in the Knowledge Transfer team at Thomas-Krenn, completed his studies of Computer and Media Security at FH Hagenberg in Austria. He is a regular speaker at many conferences like LinuxTag, OSMC, OSDC, LinuxCon, and author for various IT magazines. In his spare time he enjoys playing the piano and training for a good result at the annual Linz marathon relay.
|
|
Translator: Alina Ranzinger Alina has been working at Thomas-Krenn.AG since 2024. After her training as multilingual business assistant, she got her job as assistant of the Product Management and is responsible for the translation of texts and for the organisation of the department.
|


