IOPS explained

Input/output operations per second (IOPS, pronounced eye-ops) is an input/output performance measurement used to characterize computer storage devices like hard disk drives (HDD), solid state drives (SSD), and storage area networks (SAN). Like benchmarks, IOPS numbers published by storage device manufacturers do not directly relate to real-world application performance.[1] [2]

Background

To meaningfully describe the performance characteristics of any storage device, it is necessary to specify a minimum of three metrics simultaneously: IOPS, response time, and (application) workload. Absent simultaneous specifications of response-time and workload, IOPS are essentially meaningless. In isolation, IOPS can be considered analogous to "revolutions per minute" of an automobile engine i.e. an engine capable of spinning at 10,000 RPMs with its transmission in neutral does not convey anything of value, however an engine capable of developing specified torque and horsepower at a given number of RPMs fully describes the capabilities of the engine.

The specific number of IOPS possible in any system 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 sequential and random access patterns, the number of worker threads and queue depth, as well as the data block sizes.[1] There are other factors which can also affect the IOPS results including the system setup, storage drivers, OS background operations etc. Also, when testing SSDs in particular, there are preconditioning considerations that must be taken into account.[3]

Performance characteristics

The most common performance characteristics measured are sequential and random operations. Sequential operations access locations on the storage device in a contiguous manner and are generally associated with large data transfer sizes, e.g. ≥ 128 kB. Random operations access locations on the storage device in a non-contiguous manner and are generally associated with small data transfer sizes, e.g. 4 kB.

The most common performance characteristics are as follows:

MeasurementDescription
Total IOPSTotal number of I/O operations per second (when performing a mix of read and write tests)
Random Read IOPSAverage number of random read I/O operations per second
Random Write IOPSAverage number of random write I/O operations per second
Sequential Read IOPSAverage number of sequential read I/O operations per second
Sequential Write IOPSAverage number of sequential write I/O operations per second

For HDDs and similar electromechanical storage devices, the random IOPS numbers are primarily dependent upon the storage device's random seek time, whereas, for SSDs and similar solid state storage devices, the random IOPS numbers are primarily dependent upon the storage device's internal controller and memory interface speeds. On both types of storage devices, the sequential IOPS numbers (especially when using a large block size) typically indicate the maximum sustained bandwidth that the storage device can handle.[1] Often sequential IOPS are reported as a simple Megabytes per second number as follows:

IOPS x TransferSizeInBytes=BytesPerSec

(then converted to MB/s)

Some HDDs/SSDs will improve in performance as the number of outstanding IOs (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). Many consumer SATA HDDs either cannot do this, or their implementation is so poor that no performance benefit can be seen. Enterprise class SATA HDDs, such as the Western Digital Raptor and Seagate Barracuda NL will improve by nearly 100% with deep queues.[4] 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.

While traditional HDDs have about the same IOPS for read and write operations, many NAND flash-based SSDs and USB sticks are much slower writing than reading due to the inability to rewrite directly into a previously written location forcing a procedure called garbage collection.[5] [6] [7] This has caused hardware test sites to start to provide independently measured results when testing IOPS performance.

Flash SSDs, such as the Intel X25-E (released 2010), have much higher IOPS than traditional HDD. In a test done by Xssist, using Iometer, 4 KB random transfers, 70/30 read/write ratio, queue depth 4, the IOPS delivered by the Intel X25-E 64 GB G1 started around 10000 IOPs, and dropped sharply after 8 minutes to 4000 IOPS, and continued to decrease gradually for the next 42 minutes. IOPS vary between 3000 and 4000 from approximately 50 minutes and onwards, for the rest of the 8+ hours the test ran.[8] Even with the drop in random IOPS after the 50th minute, the X25-E still has much higher IOPS compared to traditional hard disk drives. Some SSDs, including the OCZ RevoDrive 3 x2 PCIe using the SandForce controller, have shown much higher sustained write performance that more closely matches the read speed.[9] For example, a typical operating system has many small files (such as DLLs ≤ 128 kB), so SSD is more suitable for system drive.[10]

Examples

Mechanical hard drives

Block size used when testing significantly affects the number of IOPS performed by a given drive. See below for some typical performance figures:[11]

Drive (Type / RPM)IOPS (4 KB block, random)IOPS (64 KB block, random)MB/s (64KB block, random)IOPS (512 KB block, random)MB/s (512 KB block, random)MB/s (large block, sequential)
SAS / 15K188 - 203175 - 19211.2 – 12.3115 – 13558.9 – 68.991.5 – 126.3
FC / 15K163 - 178151 - 1699.7 – 10.897 – 12349.7 – 63.173.5 – 127.5
FC / 10K142 - 151130 – 1438.3 – 9.280 – 10440.9 – 53.158.1 – 107.2
SAS / 10K142 - 151130 – 1438.3 – 9.280 – 10440.9 – 53.158.1 – 107.2
SATA / 720073 - 7969 - 764.4 – 4.947 – 6324.3 – 32.143.4 – 97.8
SATA / 540057553.54422.610,000 rpm SATA drives, queue depth 24HDD~290 IOPSSATA 3 Gb/sfio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 24 -filename /dev/sda -ioengine libaio -direct=1

Solid-state devices

DeviceTypeIOPSInterfaceNotes
Intel X25-M G2 (MLC)SSD~8,600 IOPS[12] SATA 3 Gbit/sIntel's data sheet[13] claims 6,600/8,600 IOPS (80 GB/160 GB version) and 35,000 IOPS for random 4 KB writes and reads, respectively.
Intel X25-E (SLC)SSD~5,000 IOPS[14] SATA 3 Gbit/sIntel's data sheet[15] claims 3,300 IOPS and 35,000 IOPS for writes and reads, respectively. 5,000 IOPS are measured for a mix. Intel X25-E G1 has around 3 times higher IOPS compared to the Intel X25-M G2.[16]
G.Skill Phoenix ProSSD~20,000 IOPS[17] SATA 3 Gbit/sSandForce-1200 based SSD drives with enhanced firmware, states up to 50,000 IOPS, but benchmarking shows for this particular drive ~25,000 IOPS for random read and ~15,000 IOPS for random write.
Samsung SSD 850 PROSSDUp to 100,000 read IOPS
Up to 90,000 write IOPS[18]
SATA 6 Gbit/s4 KB aligned random I/O at QD32
10,000 read IOPS, 36,000 write IOPS at QD1
550 MB/s sequential read, 520 MB/s sequential write on 256 GB and larger models
550 MB/s sequential read, 470 MB/s sequential write on 128 GB model
Virident Systems tachIOnSSDUp to 320,000 sustained READ IOPS using 4 kB blocks, and up to 200,000 sustained WRITE IOPS using 4kB blocks[19] PCIe
OCZ RevoDrive 3 X2SSDUp to 200,000 Random Write 4k IOPS[20] PCIe
DDRdrive X1SSDUp to 300,000+ (512B Random Read IOPS) and 200,000+ (512B Random Write IOPS)[21] [22] [23] [24] PCIe
Samsung SSD 960 EVOSSDUp to 380,000 read IOPS
Up to 360,000 write IOPS[25]
NVMe over PCIe 3.0 x4, M.24 kB aligned random I/O with four workers at QD4 (effectively QD16),[26] 1 TB model
14,000 read IOPS, 50,000 write IOPS at QD1
330,000 read IOPS, 330,000 write IOPS on 500 GB model
300,000 read IOPS, 330,000 write IOPS on 250 GB model
Up to 3.2 GB/s sequential read, 1.9 GB/s sequential write
Samsung SSD 960 PROSSDUp to 440,000 read IOPS
Up to 360,000 write IOPS
NVMe over PCIe 3.0 x4, M.24kB aligned random I/O with four workers at QD4 (effectively QD16), 1 TB and 2 TB models
14,000 read IOPS, 50,000 write IOPS at QD1
330,000 read IOPS, 330,000 write IOPS on 512 GB model
Up to 3.5 GB/s sequential read, 2.1 GB/s sequential write
Kaminario K2SSDUp to 2,000,000 IOPS.[27]
1,200,000 IOPS in SPC-1 benchmark simulating business applications[28] [29]
FCMLC Flash
NetApp FAS6240 clusterFlash/Disk1,261,145 SPECsfs2008 nfsv3 IOPs using 1,440 15k disks, across 60 shelves, with virtual storage tiering.[30] NFS, SMB, FC, FCoE, iSCSISPECsfs2008 is the latest version of the Standard Performance Evaluation Corporation benchmark suite measuring file server throughput and response time, providing a standardized method for comparing performance across different vendor platforms.
EMC DSSD D5FlashUp to 10 million IOPS[31] PCIe Out of Box, up to 48 clients with high availability.PCIe Rack Scale Flash Appliance. Product discontinued.[32]

See also

Notes and References

  1. Web site: Calculate IOPS in a storage array . Lowe . Scott . techrepublic.com . 2010-02-12 . 2011-07-03.
  2. Web site: Getting The Hang Of IOPS v1.3 . 2012-08-03 . 2013-08-15.
  3. Web site: Benchmarking SSDs: The Devil is in the Preconditioning Details . Smith . Kent . SandForce.com . 2009-08-11 . 2015-05-05.
  4. Web site: SATA in the Enterprise - A 500 GB Drive Roundup | StorageReview.com - Storage Reviews . StorageReview.com . 2006-07-13 . 2013-05-13 . 2013-05-05 . https://web.archive.org/web/20130505050424/http://www.storagereview.com/articles/200607/500_6.html . dead .
  5. Write Amplification Analysis in Flash-Based Solid State Drives . Xiao-yu Hu . Evangelos . Eleftheriou . Robert . Haas . Ilias . Iliadis . Roman . Pletka . 2009 . . 10.1.1.154.8668 .
  6. Web site: SSDs - Write Amplification, TRIM and GC . OCZ Technology . 2010-05-31 . https://web.archive.org/web/20120526033947/http://www.oczenterprise.com/whitepapers/ssds-write-amplification-trim-and-gc.pdf . 2012-05-26 . dead .
  7. Web site: Intel Solid State Drives . Intel . 2010-05-31.
  8. Web site: Intel X25-E 64GB G1, 4KB Random IOPS, iometer benchmark . 2010-03-27 . 2010-04-01.
  9. Web site: OCZ RevoDrive 3 x2 PCIe SSD Review – 1.5GB Read/1.25GB Write/200,000 IOPS As Little As $699 . 2011-06-28 . 2011-06-30.
  10. Web site: SSD vs. HDD: Which Do You Need? . 2024-06-24 . SSD vs. HDD: Which Do You Need? . en.
  11. Web site: RAID Performance Calculator - WintelGuy.com. wintelguy.com. 2019-04-01.
  12. Web site: Intel's X25-M Solid State Drive Reviewed . Schmid . Patrick . Roos . Achim . 2008-09-08 . 2011-08-02.
  13. Web site: Intel X18-M/X25-M SATA Solid State Drive — 34 nm Product Line . January 2010 . . 2010-07-20 . dead . https://web.archive.org/web/20100812001346/http://download.intel.com/design/flash/nand/mainstream/322296.pdf . 2010-08-12 .
  14. Web site: Patrick. Schmid . Achim. Roos . Intel's X25-E SSD Walks All Over The Competition: They Did It Again: X25-E For Servers Takes Off . TomsHardware.com . 27 February 2009 . 2013-05-13.
  15. Web site: Archived copy . 2009-03-18 . dead . https://web.archive.org/web/20090206005330/http://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf . 2009-02-06 .
  16. Web site: Intel X25-E G1 vs Intel X25-M G2 Random 4 KB IOPS, iometer . May 2010 . 2010-05-19.
  17. Web site: G.Skill Phoenix Pro 120 GB Test - SandForce SF-1200 SSD mit 50K IOPS - HD Tune Access Time IOPS (Diagramme) (5/12) . Tweakpc.de . 2013-05-13.
  18. Web site: Samsung SSD 850 PRO Specifications. Samsung Electronics. 7 June 2017.
  19. Web site: Virident's tachIOn SSD flashes by. theregister.co.uk.
  20. Web site: OCZ RevoDrive 3 X2 480GB Review | StorageReview.com - Storage Reviews . StorageReview.com . 2011-06-28 . 2013-05-13.
  21. http://www.ddrdrive.com/ddrdrive_press.pdf
  22. Web site: Archived copy . 2009-05-22 . https://web.archive.org/web/20090520234015/http://www.ddrdrive.com/ddrdrive_brief.pdf . 2009-05-20 . dead .
  23. Web site: Archived copy . 2009-05-22 . https://web.archive.org/web/20090520235817/http://www.ddrdrive.com/ddrdrive_bench.pdf . 2009-05-20 . dead .
  24. Web site: Allyn Malventano . DDRdrive hits the ground running - PCI-E RAM-based SSD | PC Perspective . Pcper.com . 2009-05-04 . 2013-05-13 . https://web.archive.org/web/20130714005308/http://www.pcper.com/reviews/Storage/DDRdrive-hits-ground-running-PCI-E-RAM-based-SSD . 2013-07-14 . dead .
  25. Web site: Samsung Electronics. NVMe SSD 960 PRO/EVO. 7 June 2017. Samsung Electronics.
  26. Web site: Ramseyer. Chris. Samsung 960 Pro SSD Review. Tom's Hardware. 18 October 2016. 9 June 2017. Samsung tests NVMe products with four workers at QD4.
  27. Web site: Kaminario Boasts Over 2 Million IOPS and 20 GB/s Throughput on a Single All-Flash K2 Storage System. Lyle Smith. 2015-12-19. 2016-04-22. https://web.archive.org/web/20160422215020/http://www.storagereview.com/kaminario_boasts_over_2_million_iops_and_20_gb_s_throughput_on_a_single_allflash_k2_storage_system. dead.
  28. Web site: Mellor . Chris . Chris Mellor, The Register, July 30, 2012: "Million-plus IOPS: Kaminario smashes IBM in DRAM decimation" . Theregister.co.uk . 2012-07-30 . 2013-11-14.
  29. Web site: Storage Performance Council: Active SPC-1 Results. Storage Performance Council. storageperformance.org. 2012-09-25. https://web.archive.org/web/20140925233025/http://www.storageperformance.org/results/benchmark_results_spc1#kaminario_spc1. 2014-09-25. dead.
  30. Web site: SpecSFS2008 . 2014-02-07.
  31. Web site: Rack-Scale Flash Appliance - DSSD D5 EMC . EMC . 2016-03-23.
  32. Web site: Dell kills off standalone DSSD D5, scatters remains into other gear. .