ハードウェアの進化だけじゃない、内部アーキテクチャの最適化!
機能として追加されたものではなく、内部アーキテクチャがどんどん進化しています。
一言でまとめると。
データの受け渡しや処理が賢くかつ早くできるようになりました。
ではどのような中身の最適化が行われたのか見ていきましょう。
デステージの最適化
デステージ中の I/O のメモリ内処理が改善しました。
バッファが短時間で空になり、新しい I/O の受け入れが可能となり、デステージでの安定した高スループットを実現、仮想マシンの I/O、再同期の I/O等のすべてのI/O のパフォーマンス向上します。
メモリ処理のウィンドウサイズが64Kから256Kに増えたことによりキャッシュデバイスからキャパシティデバイスへのデステージのスループットが改善されています。
これにより30-40%のデステージのスループットが向上しました。
(あくまでデステージ部分の性能向上なので、全体IOがこの数字の分良くなったというわけではないのですが...)
データサービスにおいても改善しています。
チェックサム、重複排除と圧縮、暗号化等のデータサービスにおいても改善
再同期トラフィックの動的管理
再同期が行われている場合、再同期 I/O は少なくとも帯域の 20% を保証します。
再同期トラフィックが発生していない場合、仮想マシンのI/Oが帯域の 100% を消費します。
各トラフィックに専用のキューを割り当て、読み取りと書き込みを調整、仮想マシン I/O と 再同期 I/O の最適なバランスを保証します。
さらに6.7U3では再同期がパラレルで処理が行われるようになりました。
そもそもvSAN 環境ではどんなトラフィックがあるのでしょうか。
どこがボトルネックになっているのか、を判断するためには大きく分けて2種類のトラフィックがあることを理解する必要があります。
- バックエンドのvSAN のトラフィック
オブジェクト ポリシーの変更、ホストまたはディスク グループの退避、オブジェクトまたはコンポーネントのリバランス、オブジェクトまたはコンポーネントの修復で発生するトラフィックです。
様々なトラフィックを適切にコントロールするために分散型輻輳制御スキーマが採用されています。
スタック内の複数のレイヤーで「輻輳」を測定し、vSAN スタック内の上位レイヤーへ遅延を切り替え、リソースを解放します。
vSAN 固有の I/O スケジューラがあり、さまざまな I/O のタイプを認識し、優先順位を決定します。
ここはユーザによる設定で変更するものではなく、あくまで内部アーキテクチャとしてそれぞれのI/Oトラフィックを調整しています。
このようにソフトウェアとしての性能がより良くなるように、改善、最適化が進められています!
同じハードウェアを使用していても、vSAN の最新バージョンを使用することで改善される性能もあるかもしれません。
U3での性能面での改善点は別ポストで紹介します!
VMware vSAN 6.7U1 って今どうなってるの? ① サマリ
VMware vSAN 6.7U1 って今どうなってるの? ② 運用管理編
VMware vSAN 6.7U1 って今どうなってるの? ③ 障害復旧編