IOPS
From Wikipedia, the free encyclopedia
| This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (August 2007) |
IOPS (Input/Output Operations Per Second) is a common benchmark for harddisks and other computer storage media. Like with any benchmark, IOPS numbers published by drive and SAN vendors are often misleading and do not guarantee real-world application performance.
IOPS can be measured with applications such as Iometer (originally developed by Intel) as well as IOZone[1] and FIO[2] and is primarily used with servers to find the best storage configuration.
The specific number of IOPS possible in any server configuration will vary greatly depending upon the variables the tester enters into the program, including the balance of read and write operations, the mix of random or sequential access patterns, the number of worker threads and queue depth, as well as the data block sizes.
Contents |
[edit] Performance characteristics
The most common performance characteristics that are measured or defined are as follows:
- Total IOPS
- Total number of I/O operations per second (when performing a mix of read and write tests)
- Random Read IOPS
- Average number of random read I/O operations per second.
- Random Write IOPS
- Average number of random write I/O operations per second.
- Sequential Read IOPS
- Average number of sequential read I/O operations per second.
- Sequential Write IOPS
- Average number of sequential write I/O operations per second.
The random IOPS numbers are primarily dependent upon the storage device's random seek time, whereas the sequential IOPS numbers (especially when using a large block size) typically indicate the maximum bandwidth that a storage device can handle. Often the latter get replaced by a simple MB/s number.
Some hard drives will improve in performance as the number of outstanding IO's (i.e. queue depth) increases. This is usually the result of more advanced controller logic on the drive performing command queuing and reordering commonly called either Tagged Command Queuing (TCQ) or Native Command Queuing (NCQ). Most commodity SATA drives either cannot do this, or their implementation is so poor that no performance benefit can be seen.[citation needed] Enterprise class SATA drives, such as the Western Digital Raptor will improve slightly—usually by no more than 50%.[citation needed] High end SCSI drives more commonly found in servers generally show much greater improvement, with the Seagate Savvio exceeding 400 IOPS—more than doubling its performance.[citation needed]
While traditional harddisks have about the same IOPS for read and write, USB Flash drives and most Flash-based solid-state drives are much slower writing than reading. This has caused hardware test sites to start to do IOPS testing, which makes numbers available that have been independently measured.
[edit] Examples
Some ballpark numbers (see e.g. Toms Hardware on Intel X-25 M[3]and X-25 E[4], and on FusionIO's ioDrive[5].
- 7200RPM SATA drives - ~90 IOPS
- 10kRPM Serial Attached SCSI drives - ~ 140 IOPS
- 15kRPM Serial Attached SCSI drives - ~180 IOPS
- Simple SLC SSD - ~400 IOPS
- Intel X-25 M (MLC; As of March 2009[update], no competition) - ~1,500 IOPS
- Intel X-25 E (SLC; As of March 2009[update], no competition) - ~5,000 IOPS (Intel's data sheet says 3,300 write, 35,000 read IOPS, while 5,000 are measured for a mix)
- ioDrive, a PCI-Express card with Flash - >15,000 IOPS
- DDRdrive X1, a May 2009 PCI Express based solid-state drive - 300,000+ (512B Random Read IOPS) and 200,000+ (512B Random Write IOPS)[1][2][3][4]
- Violin Memory Appliance, 1,000,000+ Random Read IOPS[5]

