system management
1753563 メンバー
5836 オンライン
108796 解決策
新規ポスト

11iv3での、バッファキャッシュの制御について

 
J_1
新しいメンバー

11iv3での、バッファキャッシュの制御について

今回初めて質問させていただきます。

よろしくお願いいたします。

11iv3での、バッファキャッシュの制御について御相談したいと思います。

【状況】

・とある大量データ処理の検証で、バッファキャッシュを少なくした状態を実現したいと考えております。

・また検証実施時に、CPUの%wioが高く、DiskのBusyも定常的に発生しているにも関わらず、sar -bで表示されるbread/sがほぼ0で推移している状態となっております。

【質問事項】

(1)11iv2ではdbc_max_pctとdbc_min_pctを設定することでバッファキャッシュサイズの制御をできたと思いますが、11iv3ではvxfs_bc_bufhwmを指定することで同様の制御ができると考えてあっていますでしょうか。

(2)vxfs_bc_bufhwmを指定することで、SAM上のfilecache_maxで表示される値を変更できるかと思ったのですが、あっていますでしょうか。

(3)また上記でバッファサイズを変更することで、sar -bで表示されるbread/sの値が変わる可能性が高いと考えておりますが、あっていますでしょうか。

(4)11iv3では、bread/sの値の意味合いがv2と異なっている、という可能性はあるでしょうか。

以上、お分かりになる方いらっしゃいましたらお教え頂ければ幸いです。どうぞよろしくお願いいたします。
2件の返信2
oops
貴重なコントリビューター

11iv3での、バッファキャッシュの制御について

> (1)11iv2ではdbc_max_pctとdbc_min_pctを設定することでバッファキャッシュサイズの制御をできたと思いますが、11iv3ではvxfs_bc_bufhwmを指定することで同様の制御ができると考えてあっていますでしょうか。

あってません。

> (2)vxfs_bc_bufhwmを指定することで、SAM上のfilecache_maxで表示される値を変更できるかと思ったのですが、あっていますでしょうか。

あってません。

vxfs_bc_bufhwm と filecache_max に関連性はありません。

vxfs_bc_bufhwm は VxFS のメタデータ(inode 等)用のバッファキャッシュです。VxFS 3.5 から、VxFS はメタデータ用の専用バッファキャッシュを別にもつようになりました。

filecache_max は、ユーザデータブロックを含むバッファキャッシュの最大値を定義するもので、11iv2 までの dbc_max_pct と同等のものと考えてもらってよいと思います。

11iv3 から所謂バッファキャッシュはページキャッシュと統合されたため(UFC)、dbc_* というチューナブルがなくなり、filecache_* というパラメータに変わりました。

> (3)また上記でバッファサイズを変更することで、sar -bで表示されるbread/sの値が変わる可能性が高いと考えておりますが、あっていますでしょうか。

可能性はあると思いますが、そもそも bread の値が小さくて lread の値が大きければ、キャッシュヒットしてるはずです。ヒット率はどうなんでしょうか?

キャッシュヒットしてるのにディスクが busy なのであれば、そもそも、ファイルシステム IO ではなく、raw IO や page IO が発生しているということはありませんか?physical な read/write や paging の read/write も確認されてみると良いと思います。

また、wio% や busy が高くなる理由としては、IO 量の他にディスクの応答が遅いことも考えられます。avgserv を確認することも勧めます。

> (4)11iv3では、bread/sの値の意味合いがv2と異なっている、という可能性はあるでしょうか。

そういう記載は特にリリースノートに見られませんが、バッファキャッシュの実装が UFC に変わりましたから、bread の計測方法にも変更はあったと思いますので、不具合がある可能性も否定できないと思います。

J_1
新しいメンバー

11iv3での、バッファキャッシュの制御について

ご返答ありがとうございました。

大変参考になりました。

また確認不足の状態での質問で申し訳ありませんでした。

頂いたご指摘を元に、filecache_max を設定した状態での試行、および、

discovered_direct_iosz のデフォルト値を超えたI/O要求が発生しているかの確認、などをしたいと思います。

なお御指摘いただいた事項を確認いたしますと、

・キャッシュヒット率はほぼ100%

・physicalなread/writeは定常的に発生

・pagingはほぼ0の状態でした。

またI/O対象のストレージは、4GbF/C接続で約6個のディスクでのRAID構成のため、基本的には応答速度は十分と考えております。