入出力操作毎秒(英語:Input/output operations per second, 略称:IOPS, 「アイオーピーエス」または「アイオプス」と発音)は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ストレージエリアネットワーク(SAN)などのコンピュータストーレジデバイスの入出力性能特性を示す単位である。ベンチマークと同様に、ストレージデバイスの製造元が公表しているIOPSの数値は、実際のアプリケーションのパフォーマンスとは直接関係しない。
背景 任意のストレージデバイスのパフォーマンス特性を意味のある形で説明するには、IOPS、応答時間、および(アプリケーションの)ワークロードという最低3つの指標を同時に指定する必要がある。応答時間とワークロードの指定が同時に行われない場合、IOPSは実質的に無意味である。単独のIOPSは、自動車エンジンの「1分間あたりの回転数(RPM)」に似ていると考えることができる。つまり、ギアをニュートラルに入れた状態で10,000 RPMで回転できるエンジンは有益な情報を何も伝えないが、指定されたRPMで規定のトルクと馬力を発揮できるエンジンはその能力を完全に説明している。
あらゆるシステム構成で可能なIOPSの具体的な数値は、読み取りと書き込み操作のバランス、シーケンシャルアクセスとランダムアクセスのパターンの混在度、ワーカースレッドの数とキュー深度、およびデータブロックサイズなど、テスターがプログラムに入力する変数によって大きく異なる。システム構成、ストレージドライバ、OSのバックグラウンド操作など、IOPSの結果に影響を与える可能性のある他の要因も存在する。また、特にSSDをテストする場合は、考慮しなければならない事前準備(プレコンディショニング)の要素がある。
パフォーマンス特性 サムネイル|ランダムアクセスとシーケンシャルアクセスの比較 最も一般的に測定されるパフォーマンス特性は、シーケンシャルおよびランダム操作である。シーケンシャル操作は、連続データストレージにアクセスし、一般的に128 kB以上などの大きなデータ転送サイズに関連している。ランダム操作は、非連続的な方法でストレージデバイス上の場所にアクセスし、一般的に4 kBなどの小さなデータ転送サイズに関連している。
最も一般的なパフォーマンス特性は次のとおりである。 測定項目説明合計IOPS1秒あたりのI/O操作の総数 (読み取りと書き込みのテストを混在させて実行した場合)ランダム読み取りIOPS1秒あたりの平均ランダム読み取りI/O操作数ランダム書き込みIOPS1秒あたりの平均ランダム書き込みI/O操作数シーケンシャル読み取りIOPS1秒あたりの平均シーケンシャル読み取りI/O操作数シーケンシャル書き込みIOPS1秒あたりの平均シーケンシャル書き込みI/O操作数 HDDや同様の電気機械式ストレージデバイスの場合、ランダムIOPSの数値は主にストレージデバイスのランダムシークタイムに依存する。一方、SSDや同様のソリッドステートストレージデバイスの場合、ランダムIOPSの数値は主にストレージデバイスの内部コントローラとメモリインターフェースの速度に依存する。どちらのタイプのストレージデバイスでも、シーケンシャルIOPSの数値(特に大きなブロックサイズを使用する場合)は、ストレージデバイスが処理できる最大持続帯域幅を示すことが多い。多くの場合、シーケンシャルIOPSは次のように単純なメガバイト毎秒の数値として報告される。
(その後、MB/sに変換される。)
一部のHDDやSSDは、未処理のIO数(すなわちキュー深度)が増加するとパフォーマンスが向上する。これは通常、ドライブ上のより高度なコントローラロジックがコマンドキューイングと並べ替えを実行した結果であり、一般的にタグ付きキューイング (TCQ) またはネイティブ・コマンド・キューイング (NCQ) と呼ばれる。多くのコンシューマー向けSATA HDDはこれを行うことができないか、実装が不十分であるためパフォーマンスの向上が見られない場合がある。Western Digital RaptorやSeagate Barracuda NLなどのエンタープライズクラスのSATA HDDは、深いキューにより約100%向上する。
従来のHDDは読み取りと書き込みの操作でほぼ同じIOPSを持つが、多くのNANDフラッシュベースのSSDやUSBメモリは、以前に書き込まれた場所に直接上書きできないため、ガベージコレクションと呼ばれる手順を強制され、読み取りよりも書き込みの方がはるかに遅くなる。これにより、ハードウェアのテストサイトはIOPSパフォーマンスをテストする際に独自に測定した結果を提供し始めるようになった。
Intel X25-E(2010年リリース)などのフラッシュSSDは、従来のHDDよりもはるかに高いIOPSを備えている。Xssistが行ったIometerを使用したテスト(4 KBランダム転送、読み取り/書き込み比率70/30、キュー深度4)では、Intel X25-E 64 GB G1が提供するIOPSは約10,000 IOPSから始まり、8分後に4,000 IOPSに急激に低下し、その後の42分間で徐々に減少し続けた。約50分以降、8時間以上のテスト実行中、IOPSは3,000から4,000の間で変動した。50分後のランダムIOPSの低下にもかかわらず、X25-Eは依然として従来のハードディスクドライブと比較してはるかに高いIOPSを備えている。SandForceコントローラを使用するOCZ RevoDrive 3 x2 PCIeを含む一部のSSDは、読み取り速度により近い、はるかに高い持続書き込みパフォーマンスを示している。たとえば、一般的なオペレーティングシステムには多くの小さなファイル(128 kB以下のDLLなど)が存在するため、SSDはシステムドライブにより適している。
例
メカニカルハードドライブ テスト時に使用されるブロックサイズは、特定のドライブが実行するIOPSの数に大きな影響を与える。典型的なパフォーマンスの数値を以下に示す。 メトリック→IOPSIOPSMB/sIOPSIOPSMB/sドライブブロックサイズ →大タイプRPMアクセスタイプ →ランダムランダムランダムランダムランダムシーケンシャルSAS188 – 203175 – 19211.2 – 12.3115 – 13558.9 – 68.991.5 – 126.3FC163 – 178151 – 1699.7 – 10.897 – 12349.7 – 63.173.5 – 127.5FC142 – 151130 – 1438.3 – 9.280 – 10440.9 – 53.158.1 – 107.2SAS142 – 151130 – 1438.3 – 9.280 – 10440.9 – 53.158.1 – 107.2SATA720073 – 7969 – 764.4 – 4.947 – 6324.3 – 32.143.4 – 97.8SATA540057553.54422.6
ソリッドステートデバイス デバイスタイプIOPSインターフェース備考Intel X25-M G2 (MLC)SSD~8,600 IOPSSATA 3 Gbit/sIntelのデータシートでは、6,600/8,600 IOPS(80 GB/160 GBバージョン)およびランダム4 KB書き込みと読み取りでそれぞれ35,000 IOPSとされている。Intel X25-E (SLC)SSD~5,000 IOPSSATA 3 Gbit/sIntelのデータシートでは、書き込みと読み取りでそれぞれ3,300 IOPSと35,000 IOPSとされている。混合では5,000 IOPSが測定されている。Intel X25-E G1は、Intel X25-M G2と比較して約3倍高いIOPSを備えている。G.Skill Phoenix ProSSD~20,000 IOPSSATA 3 Gbit/s拡張ファームウェアを備えたSandForce-1200ベースのSSDドライブで、最大50,000 IOPSとされているが、ベンチマーク結果ではこの特定のドライブでランダム読み取りが約25,000 IOPS、ランダム書き込みが約15,000 IOPSであった。Samsung SSD 850 PROSSD最大100,000読み取りIOPS 最大90,000書き込みIOPSSATA 6 Gbit/sQD32での4 KBアライメントランダムI/O QD1での10,000読み取りIOPS、36,000書き込みIOPS 256 GB以上のモデルでの550 MB/sシーケンシャル読み取り、520 MB/sシーケンシャル書き込み 128 GBモデルでの550 MB/sシーケンシャル読み取り、470 MB/sシーケンシャル書き込みVirident Systems tachIOnSSD4 kBブロックを使用した最大持続読み取りIOPS 320,000、および4 kBブロックを使用した最大持続書き込みIOPS 200,000PCIeOCZ RevoDrive 3 X2SSD最大200,000ランダム書き込み4k IOPSPCIeDDRdrive X1SSD最大300,000以上(512Bランダム読み取りIOPS)および200,000以上(512Bランダム書き込みIOPS)PCIeSamsung SSD 960 EVOSSD最大380,000読み取りIOPS 最大360,000書き込みIOPSNVMe over PCIe 3.0 x4, M.2QD4(実質QD16)で4つのワーカーを使用した4 kBアライメントランダムI/O、1 TBモデル QD1での14,000読み取りIOPS、50,000書き込みIOPS 500 GBモデルでの330,000読み取りIOPS、330,000書き込みIOPS 250 GBモデルでの300,000読み取りIOPS、330,000書き込みIOPS 最大3.2 GB/sシーケンシャル読み取り、1.9 GB/sシーケンシャル書き込みSamsung SSD 960 PROSSD最大440,000読み取りIOPS 最大360,000書き込みIOPSNVMe over PCIe 3.0 x4, M.2QD4(実質QD16)で4つのワーカーを使用した4kBアライメントランダムI/O、1および2 TBモデル QD1での14,000読み取りIOPS、50,000書き込みIOPS 512 GBモデルでの330,000読み取りIOPS、330,000書き込みIOPS 最大3.5 GB/sシーケンシャル読み取り、2.1 GB/sシーケンシャル書き込みKaminario K2SSD最大2,000,000 IOPS。 ビジネスアプリケーションをシミュレートするSPC-1ベンチマークでの1,200,000 IOPSFCMLCフラッシュNetApp FAS6240クラスターフラッシュ/ディスク仮想ストレージ階層化を使用し、60のシェルフにわたる1,440台の15kディスクを使用した1,261,145 SPECsfs2008 nfsv3 IOPS。NFS, SMB, FC, FCoE, iSCSISPECsfs2008は、ファイルサーバーのスループットと応答時間を測定するStandard Performance Evaluation Corporationベンチマークスイートの最新バージョンであり、さまざまなベンダープラットフォーム間でパフォーマンスを比較するための標準化された方法を提供する。EMC DSSD D5フラッシュ最大1,000万IOPS標準のPCIeで、高可用性を備えた最大48台のクライアント。PCIeラックスケールフラッシュアプライアンス。製造終了。
脚注
関連項目 MIPS (Instructions per second) ワットパフォーマンス (Performance per watt)