HDDの場合、IOPSは通常、ディスクのアクセス時間に左右されます。これは、シークレイテンシ+回転遅延+転送遅延の合計です。これらの変数はアクセスパターンに強く依存し、特定のRAIDレイアウト(つまり:ストライプサイズ)およびコントローラー(つまり、先読みチューニング)と明白な相互作用がないため、単純な応答はすべて間違っています。
ただし、球形の数字を試してみましょう。最初の近似では、nディスクアレイによって保証されるIOPSは、単一ディスクのIOPSのn倍である必要があります。ただし、RAIDレベルとデータアクセスパターンの両方で、シーク/回転/転送のレイテンシ間でウェイトをシフトすることにより、この1次近似を劇的に変更します。
単一のディスクあたり100 IOPS(7200 RPMディスクの標準値)および4ディスクアレイ(多くの場合、2方向のみに制限されているRAID1を除く)を想定して、いくつかの例を見てみましょう。
- 単一のディスクは読み取りと書き込みの両方で100 IOPSです(注:書き込みの合体のため、書き込みIOPSは一般に読み取りIOPSよりも高くなりますが、簡単にするために無視してください)
- RAID0(4方向ストライピング)には、最大 4倍のランダムIOPSと最大 4倍のシーケンシャルIOPSがあります。ここでのキーワードは「最大」です。ストライピングとデータ調整の性質により、ランダムにアクセスされるセクターが主に単一のディスクに存在する場合、IOPSははるかに低くなります。
- RAID1(2方向ミラーリング)は、プロファイルがより複雑です。異なるディスクは異なるデータをシークできるため、ランダム読み取りIOPSは最大2倍ですが、同じ1倍(またはオーバーヘッドによりわずかに低い)ランダム書き込みIOPSがあります。すべての物事がうまく整合させる場合(例:100大ではなく%のシーケンシャル読み込み、/ミラーリングモードでも、取り扱いチャンク/ストライプの概念を使用してRAIDコントローラ、先読み正しく動作など)を順次読み取り可能いつかシングルを2倍まで可能ディスク値、シーケンシャル書き込みは単一ディスクの1倍に制限されたまま(つまり、高速化なし)
- RAID10(4方向ミラーリング)は、パフォーマンス面では、4方向RAID0ストライピングと2方向ミラーリングの中間です。ランダム読み取りIOPSは最大4倍、ランダム書き込みIOPSは最大2倍です。シーケンシャル転送の場合、RAID1の注意事項が適用されます。シーケンシャル読み取りIOPSは最大4倍ですが、シーケンシャル書き込みIOPSは2倍しかありません。一部のRAID10実装(つまりLinux MDRAID)は、パフォーマンスプロファイルが異なる RAID10アレイの異なるレイアウトを提供することに注意してください。
- RAID5(ストライプパリティ)には最大4倍のランダム読み取りIOPSがありますが、ランダム書き込みIOPSは、ストライプサイズに対する書き込みの大きさ、大きなストライプキャッシュの可用性、ストライプ再構築アルゴリズムなどのいくつかの要因に依存しますそれ自体(read-reconstruct-write vs read-modify-write)などは、単一ディスクのIOPSの0.5倍(またはそれ以下)から2倍までの範囲になります。単一のディスクの3倍のIOPS(読み取りと書き込みの両方)で、シーケンシャルワークロードはより予測可能です
- RAID6(ストライプダブルパリティ)は、RAID5の兄弟とほぼ同じように動作しますが、書き込みパフォーマンスが低下します。単一ディスクの最大4倍のランダム読み取りIOPSがありますが、ランダム書き込みパフォーマンスはRAID5よりも低く、絶対値は同じ(0.5倍-2倍)ですが、実際の単語の平均は低くなります。順次読み取りおよび書き込みは、単一ディスクのIOPSの2倍に制限されます。
繰り返しますが、上記は単純でほとんど壊れた近似です。とにかく、(かなり不完全な)RAID IOPS計算機で遊びたい場合は、こちらをご覧ください。
さて、現実の世界に戻りましょう。実際のワークロードでは、多くの場合、RAID10がより高速で優先される選択肢であり、アレイの性能が低下しても高いパフォーマンスを維持します。RAID5およびRAID6は、本質的に読み取り中心またはシーケンシャルでない限り、パフォーマンスに依存するワークロードで使用しないでください。深刻なRAIDコントローラーには、主に(重いストライプキャッシングによる)RAID5 / 6の低ランダム書き込みパフォーマンスを克服するために、大きな電力損失で保護されたライトバックキャッシュがあります。アレイの速度を本当に気にしない限り、キャッシュレスRAIDコントローラーでRAID5 / 6を使用しないでください。
SSDは異なる獣です。パリティベースのRAIDは本質的に平均アクセス時間が非常に短いため、パフォーマンスオーバーヘッドがはるかに低く、HDDよりもはるかに実行可能なオプションです。ただし、小さなランダム書き込み中心のワークロードでは、とにかくRAID10セットアップを使用します。