RAID コントローラのライトバック キャッシュの動作

RAID コントローラのライトバック キャッシュの動作

巨大なランダム データセットを書き込んでいる間も、RAID コントローラーのライトバック キャッシュがどのようにしてメリットを生み出し続けるのかを理解しようとしています。まず、ライトバックキャッシュの仕組みを理解していることを述べておきます。: データが低速な基盤メディアではなくコントローラのキャッシュにヒットすると、OSは書き込みのI/O完了を取得し、コントローラは書き込み可能な速度でデータをメディアに書き込みます。そのため、バックアップ メディアが書き込むことができる速度よりも速くデータを書き込む場合、コントローラー キャッシュが使い果たされ、ライトバックによるパフォーマンスの向上がなくなり、ライトスルー設定と同等のパフォーマンスになってしまうと思いますか?

上記で説明したことは予想していたことですが、私が目にしているものとは違います。ライトバック キャッシュ バックアップ サーバーは、ライトスルー モードに設定した同一サーバーと比較して、一貫して少なくとも 4 倍の IOPS とスループットを実現し、それを維持しています。この動作を説明する方法について何かアイデアはありますか?

そして、はい、ファイルシステムのキャッシュを飽和させるのに十分な量のデータを非常に速く書き込んでいます。

答え1

ライトバック キャッシュを使用すると、OS は書き込み前にデータをより適切に整理できるため、パフォーマンスが向上します。比較的小さな書き込みを多数行う場合は、連続した複数の書き込みのデータをまとめて一度にメディアに書き込むだけで、パフォーマンスが大幅に向上します。

程度は低いものの、ライトバック キャッシュは、書き込み時に OS がクラスター サイズを一致させるのに役立ちます。たとえば、一度に 10,000 バイトを書き込み、クラスター サイズが 8,192 バイトの場合、キャッシュにより、OS が部分的に満たされたクラスターに 1,808 バイトを書き込むことがなくなります (そのためには、最初にクラスターを読み取る必要があります)。

関連情報