GEOM gcache2008年02月08日 19時37分02秒

ふと gcache というコマンドを FreeBSD 7.0-RC1 で見つけた。GEOM cache 用のコマンドらしい。

この、GEOM cache には一切ドキュメントが無い。やっとの事で見つけたのが、CVS のコミットログ。以下の通りだ。


It has been developed to address
the problem of a horrible read performance of a 64k blocksize FS
residing on a RAID3 array with 8 data components, where a single
disk component would only get 8k read requests, thus effectively
killing disk performance under high load.

つまり、RAID3 を用いた時に起きる性能の劣化を防ぐのが目的らしい。64k のブロックサイズを八つのディスクを用いて RAID3 で構築すると、各ブロックサイズは 8k になり、ディスクの効率を減退させるそうだ。

どれくらいの効果があるのか不明だが、ファイル型の md デバイスに対して使ってみた。


# gcache create -v -b 1024 -s 1000000 cache /dev/md1
Done.
# mount /dev/cache/cache /mnt/ufs

どの様に使えば良いかも良く判らないのもあって、全然効果は無かった。元々、RAID3 では無いのであまり期待はしていなかったが、キャッシュミスがほぼ 100% だった。

果たして、RAID3 に一つ付ける物なのだろうか。それとも、RAID3 用の各デバイスに一つずつ付ける物なのだろうか。そして、わざわざ /dev/cache 以下にデバイスを作成する必要は無さそうに見える。

次回