クイックリンク
組織がリアルタイムのデータ処理、クラウドコンピューティング、高性能ワークロードへと移行するにつれ、ストレージのパフォーマンスはITインフラ計画においてきわめて重要な要素となっています。ストレージの速度は、アプリケーションの応答性、システムスケーラビリティ、そしてパフォーマンスのボトルネックを回避する能力に直接影響します。入出力操作毎秒(IOPS)は、ストレージのパフォーマンスを評価するために最も広く用いられている指標の一つです。
高速なストレージは誰もが望むものですが、IOPSは、ストレージシステムが、頻繁なデータリクエストにどれほど効果的に対応できるかを測定する具体的な指標となります。IOPSを理解することで、組織はストレージの設計、容量の計画、ワークロードの最適化について、十分な情報に基づいた意思決定を行うことができます。
IOPSとは?
IOPSの定義:入出力操作毎秒(IOPS)とは、ストレージデバイスが1秒間に完了できる読み取り/書き込み操作の回数を表す指標です。これは、HDDやSSD、ストレージエリアネットワーク(SAN)などのストレージテクノロジーを評価するための標準的なベンチマークです。
IOPSは、スループットやレイテンシーといった他のパフォーマンス指標を補完します。スループットは転送されるデータ量を表し、レイテンシーは1回の処理にかかる時間を表します。一方、IOPSは、ストレージデバイスがリクエストを処理できる回数に焦点を当てているため、小規模で高速なトランザクションを多数生成するワークロードでは特に重要となります。
IOPSは、一般的に、ランダムアクセスパターンとシーケンシャルアクセスパターンの両方で測定されます。
IOPSの値を左右するのは、ストレージコントローラ、SSDに搭載されているNANDフラッシュの種類、ストレージをホストシステムに接続するために使用されるインターフェース(不揮発性メモリエクスプレス(NVMe™)やシリアルアドバンストテクノロジーアタッチメント(SATA)など)といった要因です。多くの場合、高速かつ小ブロック単位のデータ転送を必要とするワークロードでは、高いIOPS値が不可欠です。
IOPSはどのように機能しますか?
IOPSは、サーバーとそのストレージ間のデータトランザクションの回数を定量化するために設計されています。この測定値は、IT担当者が、特定のアプリケーションのパフォーマンス要件をストレージソリューションが満たせるかどうかを判断するのに役立ちます。IOPSを測定する上で、4つの主要な要素が存在します。
ワークロードの種類。操作が読み取り、書き込み、またはその両方の組み合わせのいずれかであるかを示します。ほとんどのベンチマークでは、実際の使用状況をより忠実に再現するために、混合ワークロードが使用されています。
アクセスパターン。データへのアクセスがランダムアクセスか、またはシーケンシャルアクセスかを特定します。ドライブにとって、ランダムIOPSを実行することは、シーケンシャルIOPSを実行するよりもはるかに困難です。
ブロックサイズ。各データ転送のサイズ(4KBや8KBなど)を定義します。ブロックサイズが小さいほど通常はIOPS値が高くなり、ブロックサイズが大きいほどスループットが高くなります。
キュー深度(QD)。処理待ちの状態にある未処理の入出力(I/O)リクエストの数を表します。キュー深度を大きくすることで、並列処理が向上し、高性能SSDの最大IOPS性能を引き出すことができます。キュー深度が大きくなると、NVMeプロトコルなどのインターフェースでは、ストレージデバイスが多数のI/Oリクエストを同時に処理できるため、従来のインターフェースよりもIOPSが大幅に向上します。
IOPSの歴史とはどのようなものですか?
IOPSは、機械式ドライブがコンピューティング分野を席巻していた時代に、ストレージのパフォーマンスを簡単に説明する指標として誕生しました。その役割と影響力は、ストレージテクノロジーの進化に伴って大幅に拡大しました。
- 1970年代、機械的ドライブの限界:HDDのパフォーマンスはシーク時間と回転待ち時間の制約を受け、通常、ドライブのIOPSは200未満にとどまっていました。
- 1990年代、RAIDによるスケーリング:Redundant Array of Independent Disks(RAID)アーキテクチャーにより、複数のドライブを並列で動作させることが可能となり、ワークロードを分散させることでシステムの総IOPSが向上しました。
- 2000年代、SSDの普及とSATAの限界:フラッシュベースのSATA SSDは、機械的な遅延を解消し、IOPSを数百から数万へと向上させました。しかし、フラッシュメモリが進歩するにつれて、すぐにSATAインターフェースがパフォーマンスのボトルネックになりました。
- 2010年代、NVMeプロトコル:SSDのパフォーマンスが向上するにつれて、NVMeでは、ストレージの接続方式を従来のインターフェースから周辺機器相互接続エクスプレス(PCIe®)バスへ移行し、インターフェースのボトルネックを解消し、大規模な並列処理を可能にしました。NVMeは、ストレージをコンピューティングコアに近づけ、プロトコルのオーバーヘッドを削減することで、レイテンシーを劇的に低減し、IOPSを数十万、数百万レベルへと引き上げました。
- 2020年代以降、AI対応とコンポーザブルアーキテクチャー:AI、機械学習、およびリアルタイム分析の普及により、高いランダムIOPSと低レイテンシーを備えたストレージの需要が高まりました。同時に、メモリやストレージのプーリングといった新たなアーキテクチャーや、Compute Express Link(CXL)のような高度な相互接続技術の登場により、I/Oパフォーマンスの実現方法が再構築されつつあり、IOPSはストレージデバイスだけではなく、システムレベルの設計にますます依存するようになっています。
IOPSの種類には主にどのようなものがありますか?
IOPSは、データへのアクセス方法や、長期にわたるパフォーマンスの維持方法に基づいて、次のように分類することができます。
- ランダム読み取りIOPS:ストレージデバイスのさまざまな場所から、小さなデータブロックをどれだけの速さで読み出せるかを測定します。
- ランダム書き込みIOPS:ストレージ媒体全体に小さなデータブロックをどれだけの速さで書き込めるかを測定します。
- シーケンシャル読み取り/書き込み:大規模かつ継続的なデータ転送時のパフォーマンスを表す指標であり、多くの場合、メガバイト毎秒(MB/s)で表されるスループットとともに示されます。
- 定常状態IOPS:長時間にわたり負荷がかけられた後も、デバイスが安定したパフォーマンスを維持できることを示します。これはエンタープライズ向けSSDにおいて特に重要です。
- バーストIOPS:電力、熱、またはコントローラによる各制約によってスループットが低減する前の、短期的なピークパフォーマンスを示します。
IOPSはどのように活用されていますか?
IOPSは、頻繁かつ低レイテンシーのデータアクセスに依存するワークロードにとって重要なパフォーマンス指標です。
データベース環境では、高いIOPSは、クエリの高速実行や信頼性の高いトランザクション処理を保証するものです。データベースは、小規模なランダム読み取り/書き込み操作に大きく依存しているため、生のスループットよりもIOPSの方が重要となります。
仮想デスクトップインフラ(VDI)では、IOPSは、多くのユーザーが同時にログインしたりアプリケーションを起動したりする「ブートストーム」の際にも、パフォーマンスを維持するのに役立ちます。IOPSが不十分なストレージシステムでは、こうしたピーク時に処理速度が低下したり動作が不安定になる可能性があります。
IOPSはまた、AI、自動車、エッジコンピューティングにおいてもきわめて重要です。自律システムとAIパイプラインは、データをリアルタイムで取り込み、取得する必要があります。高いIOPSのストレージでは、センサーデータの高速処理が可能となり、低レイテンシーの意思決定をサポートします。
HDDは、データにアクセスするために物理的に動作する必要がある機械部品に依存しているため、1秒間に完了できる操作数には限界があります。SSDは、フラッシュメモリを介して電子的にデータにアクセスするため、機械的な遅延がなくなり、はるかに高いIOPSを実現します。
レイテンシーとは、1回のI/O操作(読み取りや書き込みのリクエストなど)を完了するのにかかる時間のことです。高IOPSと低レイテンシーを組み合わせることにより、応答性の高いストレージパフォーマンスを実現します。IOPSが高いシステムであっても、レイテンシーが高すぎると動作が遅く感じられることがあります。