この記事では、IOPSの意味を分かりやすく説明します。

IOPSとは

IOPSは、input/output operations per second(入出力操作毎秒)の略で、1秒あたりの入出力動作のことです。入出力性能の測定値として、HDDSSD、SANなどのストレージデバイスの特性評価に使用されます。

ベンチマークと同様に、ストレージデバイスメーカーによってリリースされたIOPSの数は、実際のパフォーマンスを代表するものではありません。IOPSの詳細については、このMiniToolの記事を読み進めてください。

提示:

BBIOPSの概要

ストレージデバイスの性能特性を説明するには、少なくともIOPS、応答時間、ワークロードの3つのメトリックを同時に指定する必要があります。応答時間とワークロードが同時に指定されていないため、IOPSは本質的に無意味です。

IOPSは自動車エンジンの「毎分回転数」と見なすことができます。つまり、ニュートラルのトランスミッションで10,000 RPMで回転できるエンジンは何の価値もないが、エンジン与えられたRPM数で指定されたトルクと馬力を生み出すことができるものは、エンジンの性能を完全に表現しています。

IOPSの具体的な数は、テスターがプログラムに入力する変数(読み取りと書き込み操作のバランス、シーケンシャルとランダムアクセスモードの組み合わせ、ワーカスレッドとキュー、データブロックのサイズなどシステム構成)によってかなり変化します。

システムセットアップ、ストレージドライバー、オペレーティングシステムのバックグラウンド操作など、その他の要因もIOPSの結果に影響します。さらに、特にSSDをテストする場合は、前処理の事項を考慮する必要があります。

性能指標 IOPS

順次操作とランダム操作は、測定される最も一般的なパフォーマンス特性です。順次操作とは、ストレージデバイスに継続的にアクセスすることです、通常、128kBなどのより大きなデータ転送サイズの場合に使用します。ランダム操作とは、非連続的な方法でストレージデバイスにアクセスことです。通常、4kBなどのより小さなデータ転送サイズの場合に使用します。

では、最も一般的なパフォーマンス特性を見ていきましょう。

  • 合計IOPS:1秒あたりのI / O操作の合計数(読み取りテストと書き込みテストを組み合わせて実行する)
  • ランダム読み取りIOPS:1秒あたりのランダム読み取りI/O操作の平均数
  • ランダム書き込みIOPS:1秒あたりのランダム書き込みI/O操作の平均数
  • 順次読み取りIOPS:1秒あたりの順次読み取りI/O操作の平均数
  • 順次書き込みIOPS:1秒あたりの順次書き込みI/O操作の平均数

HDDなどの電気機械式ストレージデバイスの場合、ランダムIOPSの数は主にストレージデバイスのランダムシーク時間に依存しますが、SSDなどのソリッドステートストレージデバイスの場合、ランダムIOPSの数は主に内部コントローラーとメモリインターフェイスの速度に依存します。

どのタイプのストレージデバイスでも、連続するIOPS番号(特に大きなブロックサイズを使用する場合)は、通常、ストレージデバイスが処理できる最大の持続帯域幅を表します。

一部のHDDは、未処理のIOの数(キューの深さ)が増えると、パフォーマンスが向上します。これは、ドライブ上のより高度なコントローラーロジックが、コマンドキューイングと並べ替えを実行した結果です。通常、タグ付きコマンドキューイング (TCQ)または ネイティブコマンドキューイング (NCQ)と呼ばれます。

ほとんどの通販SATAドライブはこれを実行できないか、実装が貧弱でパフォーマンス上の利点を見出せません。エンタープライズグレードSATAドライブは、キューが深くなると、ほぼ100%向上します。サーバーでより一般的なハイエンドSCSIドライブは、通常、大幅な改善を示します。

従来のHDDの読み取りと書き込み操作のIOPSはほぼ同じですが、NANDフラッシュメモリをベースにしたほとんどのSSDの書き込み速度は、前の書き込み位置に直接書き換えることができないため、ガベージコレクションという処理ができず、読み込み速度よりはるかに遅くなります。これにより、ハードウェアテストサイトがIOPSパフォーマンスをテストするときに独立して測定された結果を提供します。

新しいフラッシュSSD(Intel X25-Eなど)は、従来のHDDよりもはるかに高いIOPSを備えています。 Xssistが実施したテストでは、IOmeter、4 KBのランダム転送、70/30の読み取り/書き込み比率、キューの深さ4を採用し、Intel X25-E 64GBG1によってリリースされたIOPSは約10000IOPで始まり、8後に4000IOPSに急激に低下し、その後42分かけて徐々に低下した。

テストが実行された残りの約50分から始まる8時間以上の部分では、IOPSは3000から4000の間で変動しました。ランダムIOPSが50分後に低下しても、X25-EのIOPSは従来のハードドライブよりも高いです。一部のSSD(SandForceコントローラーを使用するOCZ RevoDrive 3 x2 PCIeを含む)では、読み取り速度に近く、より高い持続的な書き込みパフォーマンスを示します。

最後に

この記事では主にIOPSについて説明します。この記事を読んだ後、IOPSについて理解を深めていただければ幸いです。

  • hatena