スループット
スループットは、ファイルのコピーなどを行うときに役立ちます。あなたが他のほとんど何でもしているとき、それはあなたを制限するディスク全体のランダムな読み書きです。
IOPS
IOPSは通常、各データパケットのサイズを指定します。たとえば、AWS gp2は、16 KiBのペイロードサイズで10,000 IOPSを実行できます。これは、160MiB /秒に増加します。ただし、常にフルペイロードサイズを使用する可能性は低いため、実際のスループットはおそらく低くなります。NB KiBは1024バイト、KBは1000バイトです。
IOPSは、合計スループットも提供するパケットサイズを指定するためです。一方、高いスループットは、高いIOPSがあることを意味しません。
シナリオ
これらのシナリオを考慮してください:
- PCを起動します。コンピューターのSSDと回転ディスクの違いを考えてみてください。これは多くの人が直接経験していることです。回転ディスクの場合、起動時間は1分になりますが、SSDの場合、これは10〜15秒になります。これは、IOPSが高いと、情報が要求されたときの待ち時間が短くなるためです。回転するディスクのスループットは150MB /秒と非常に優れていますが、SSDが高い可能性が高いため、情報が返されるまでの待ち時間が短くなっています。
- OSアップデートの実行。ディスク全体に渡って、ファイルの追加と修正が行われます。IOPSが低い場合、スループットに関係なく低速になります。
- データベースを実行します。たとえば、大規模なデータベースから少量のデータを選択します。インデックスから読み取り、多数のファイルから読み取り、結果を返します。繰り返しますが、情報を収集するためにディスク全体に行きます。
- PCでゲームをプレイします。ディスク全体から多数のテクスチャをロードする可能性があります。この場合、IOPSとスループットが必要になる可能性があります。
LTOテープ
しばらくの間、テープバックアップシステムを検討してください。LTO6は400MB /秒を実行できますが、(ここでは推測しています)1つのランダムIOPを実行することさえできません。一方、IOPSがテープへのデータパーセルの読み取りまたは書き込みとして定義されている場合は、おそらく大量のシーケンシャルIOPSを実行できます。
OSをテープからブートしようとした場合、まったく機能していれば、時間がかかります。これが、IOPSがスループットよりも役立つ場合が多い理由です。
ストレージデバイスを理解するには、おそらく、それがランダムまたはシーケンシャルIOPSであるかどうか、およびIOサイズを知りたいでしょう。それからスループットを引き出すことができます。
AWS
このページでは、AWSがすべてのストレージタイプのIOPSとスループットの両方の数値を公開していることに注意してください。汎用SSD(gp2)は10,000個の16KiB IOPSを実行でき、最大160MB /秒を提供します。プロビジョンドIOPS(io1)は20,000 16KiB IOPSで、最大320MB /秒を提供します。
gp2ボリュームでは、プロビジョニングされたGBあたり30IOPSを取得するため、10,000 IOPSを取得するには、333.33GBのボリュームが必要です。io1ボリュームに同様の制限があるかどうかは思い出せません(そのようなことをテストする関連試験を行ってからしばらく経ちました)が、そうであると思われます。
結論
高い順次スループットは有用であり、場合によってはパフォーマンスの制限要因になりますが、ほとんどの場合、高いIOPSがより重要です。もちろん、IOPSに関係なく適切なスループットが必要です。