IOPSに関しては、特定の数のディスクのIOPSが単一のディスクのIOPSにディスクの数を掛けたものであるとWebでいくつかの情報源を見てきました。
私のIOPSの理解が正しい(そして、私がそうであるとはまったく確信していない)場合、現実は、他の多くの要因の中でも特に、RAIDレベルに依存すると思います。 RAID 1/10を使用すると、すべてのデータが少なくとも2つのディスクに複製され、特定のディスクでの一部のIOパターンの競合を減らします。ただし、RAID 0/5/6などのストライプRAIDレベルでは、データは複製されるのではなく分散されます。つまり、連続する読み取り要求が同じスピンドルに対するものであり、前のIOが完了するまでブロックされます。書き込みはさらに競合します。
加えて、さまざまな最適化やその他の要因により、現実がはるかに複雑になっていることを認識しています。私の質問は、非常に基本的なレベルで、IOPSの意味についての私の理解が正しい方向に進んでいるかどうかを実際に推進しているだけです。 IOPSがRAIDレベルの影響をこのように受ける可能性さえあるという私の主張は、概念の基本的な誤解を示している可能性があります。
HDDの場合、IOPSは通常、ディスクのアクセス時間によって支配されます、これはシークレイテンシ+回転遅延+転送遅延の合計ですこれらの変数はアクセスに強く依存するためパターンおよび特定のRAIDレイアウト(つまり、ストライプサイズ)およびコントローラー(つまり、先読みチューニング)との明白な相互作用がある任意の単純な応答が間違っている
ただし、球場の図を作成してみましょう。最初の近似では、nディスクアレイによって保証されるIOPSは、単一ディスクのIOPSのn倍である必要があります。ただし、RAIDレベルとデータアクセスパターンの両方で、シーク/回転/転送レイテンシの間で重みをシフトすることにより、この1次近似を劇的に変更します。
1つのディスクあたり100 IOPS(7200 RPMディスクの典型的な値)と4つのディスクアレイ(RAID1を除いて、多くの場合2ウェイのみに制限される)を想定して、いくつかの例を見てみましょう。
繰り返します:上記は単純でほとんど壊れた近似です。とにかく、(非常に不完全な)RAID IOPS計算機でプレイしたい場合は、見てください こちら 。
さて、現実世界に戻りましょう。実際のワークロードでは、RAID10がより高速で推奨される選択肢である場合が多く、性能が低下してもアレイが維持されます。 RAID5およびRAID6は、本質的に読み取り中心型または順次型でない限り、パフォーマンスの影響を受けやすいワークロードでは使用しないでください。深刻なRAIDコントローラーには、主にRAID5/6の低いランダム書き込みパフォーマンスを(重いストライプキャッシュによって)克服するために大きな電力損失から保護されたライトバックキャッシュがあることは注目に値します。 アレイの速度を本当に気にしない限り、キャッシュレスRAIDコントローラーでRAID5/6を使用しないでください。
SSDはさまざまな獣だと考えられています。彼らは本質的にはるかに低い平均アクセス時間を持っているので、パリティベースですRAIDは、パフォーマンスオーバーヘッドがはるかに低く、HDDよりもはるかに実行可能なオプションです。ただし、小さなランダム書き込み中心のワークロードでは、とにかくRAID10セットアップを使用します。
それは単に定義の問題です。システムのさまざまなレベルでIOPSを測定でき、さまざまな値が得られます。たとえば、2つのミラーリングされたディスクがあり、できる限り高速で書き込みを行っているとします。ディスクに送られるIOPSは、単一のディスクが同様の書き込み負荷で処理できるIOPSの数の2倍になります。ただし、コントローラーに入るIOPSは、単一のディスクが処理できるIOPSの数に等しくなります。
通常、私たちが気にするのは、アレイに取得できる論理IOPSの数です。ディスクレベルで何が起こっているかは特に気にしません。その場合、あなたは正しいですし、IOPSはRAIDレベル、ディスクの数、個々のディスクのパフォーマンス、そして場合によっては操作の特定の特性に依存します。