投稿

5月, 2026の投稿を表示しています

vSAN 8.0 U2 以降で DomClientReadCache がデフォルト無効化された件

概要 vSAN 8.0 Update 2 から、読み取り性能に効いてきた DOM クライアント読み取りキャッシュ(DomClientReadCache)がデフォルトで無効化されている。CPU 負荷の軽減が狙いのようだが、小規模データセットでは IO 性能が低下しうる。実機(ESXi 8.0 U3)で実際に変更になっているかを確認し、有効化を検討すべきケースを整理する。 要点 vSAN 8.0 U2 以降、 /VSAN/DomClientReadCache はデフォルトで 無効(0) になった。 目的は CPU 使用率の削減 。大規模データセットではキャッシュヒット率が低く、キャッシュの恩恵よりも CPU コストの方が大きいと判断されたため。 副作用として、ワーキングセットが小さい環境(目安 5GB 未満 )では読み取り性能が低下する場合がある。 CPU に余裕があり、かつデータセットが小さい環境では、再度有効化することで性能を取り戻せる可能性がある。 実機の ESXi 8.0 U3 で確認したところ、設定値は確かに 0 だった。 DomClientReadCache とは何か vSAN の I/O パスは、各仮想マシンの側で動く DOM(Distributed Object Manager)クライアント と、オブジェクトごとに存在する DOM オーナー という役割に分かれている。読み取り要求が来ると、まず DOM クライアントが自身のキャッシュ(DOM client read cache)に最近読んだブロックがあるかを確認し、ヒットすればそこで即座に応答する。ヒットしなければ DOM オーナーに問い合わせ、下位レイヤーからデータを取得し、チェックサム検証・展開を経て VM に返す、という流れになる。 つまり DomClientReadCache は、この「DOM クライアント層で完結できる読み取り」を増やすためのメモリ内キャッシュである。ヒットすればストレージ下位層への往復や CPU 処理(チェックサム・伸張など)を省ける。 8.0 U2 で何が変わったのか vSAN 8.0 Update 2 から、この DomClientReadCache が デフォルトで無効(値 0) に変更された。Broadcom(旧 VMware)のナレッジ記事 KB 31337...