RAID ではハードドライブのキャッシュ サイズは重要ですか?

RAID ではハードドライブのキャッシュ サイズは重要ですか?

重複の可能性あり:
ハードドライブのバッファサイズは重要ですか?

正確には RAID ではありませんが、ビデオ/写真作業用の生のストレージとして使用するためにドライブレス Drobo を購入し、現在、それに入れるハードドライブを探しています。ほとんどの場合、16MB/32MB/64MB のキャッシュ サイズのドライブ間ではかなり大きな価格差があります。私の場合は、Drobo に 4 つの 1TB ドライブがありますが、キャッシュ サイズによってパフォーマンスが多少向上しますか? よろしくお願いします!

答え1

キャッシュを使用すると処理速度を上げることができますが、使用目的 (ストレージ) によってはパフォーマンスへの影響が最小限になる場合があります。RAID ドライブはキャッシュ全体を使用します。

編集: キャッシュとは何かをもう少し説明します。キャッシュとは、将来のリクエストをより速く処理できるようにデータを保存することです。つまり、キャッシュの容量が大きいほど、保存できるブロック データが多くなり、より速く取得できるようになります。

答え2

ハード ドライブのキャッシュ サイズはどこでも問題になりません。最新のオペレーティング システムはすべて独自のキャッシュ機能を備えており、キャッシュに使用できるメモリがはるかに多いためです。最近アクセスされたデータであれば、いずれにしても OS キャッシュ内にあるため、ドライブ キャッシュ内にあるかどうかは問題になりません。OS はドライブにそのデータを再度要求しないからです。

CPU キャッシュと比較すると、最新の CPU に搭載されている大容量の 8 MB L3 キャッシュがあり、その後数年が経過して 32 倍高速な 128 MB L2 キャッシュを搭載した CPU が見つかったものの、依然として古くて遅い 8 MB L3 キャッシュが残っているようなものです。L2 は常に最初に参照され、サイズも速度も大きいため、何の役にも立ちません。その時点で、L3 キャッシュを 8 MB にするか 16 MB にするかを議論しても意味がありません。L3 にあるものはすべて L2 にもあり、L3 は要求を認識しないからです。

ドライブとカーネル キャッシュの動作を確認するには、いろいろ試して、ddドライブからの読み取り速度を確認できます。

sudo dd if=/dev/sda of=/dev/null bs=52488 count=1

これで、ドライブから 512kb が読み込まれます。これを数回繰り返すと、非常に高速な数値がいくつか表示され始めます。手元にあるこの古いマシンでは、約 751 MB/s が表示されています。これはカーネル キャッシュを使用した場合です。ここで、iflag=direct オプションを追加すると、カーネル キャッシュが無効になり、ドライブのキャッシュの速度を測定できるようになります。これを繰り返すと、約 100 MB/s しか表示されません。これは、この古い IDE インターフェイスの最大転送速度です。これは、ドライブのバッファなしスループットである約 61 MB/s とそれほど変わりません。

ここで、カーネル キャッシュをバイパスしていない場合、より遅くて小さいドライブ キャッシュがどのような効果をもたらすのか自問してみてください。

関連情報