仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

VDI でサーバー1台に 150 人集約した場合のレスポンス動画

デスクトップ仮想化 (VDI) を提案する際、
「1台の2ソケットサーバーにどれくらいのユーザーを詰めれば良いのか?」いわゆる “サイジング” が非常に迷うところです。

VMware, Citrix の資料では下記のような記述があります。
これによると、サイジングの肝は CPU の "物理コア" であり、
「1コアあたり 8 VMs」とみておけば良いらしい...

... 各仮想マシンには、保証された最小の計算能力として CPU コアの 1/8 〜 1/10 が必要であると見なしてください。
つまり、コアあたり 8 〜 10 台の仮想マシンを使用するパイロットを計画します。

http://www.vmware.com/files/jp/pdf/view_5_arch_plan_guide_jp-ja.pdf

「CPUのオーバーサブスクリプション比」
選択肢: 全ゲストのvCPU総数を求め、それを物理コア数で割る → 推奨: 8:1

http://support.citrix.com/servlet/KbServlet/download/23844-102-645668/ctx124687_JA_mkt.pdf

ただ、少し考えると疑問が残ります。


こういう疑問は実機で試さないと納得できないので、
VDI のユーザー・シミュレーションツール「LoginVSI」を使って試してみました。

テスト方法

複数の LoginVSI コントローラー*1 から 150 ユーザー分の VDI ユーザー・シミュレーションを展開。この状態で手動で 151 個目のリモート・セッションを張り、レスポンスを確認する。

テスト結果

レスポンスは言葉では共有できないので、今回はビデオに撮ってみました!
アプリの起動時間や PowerPoint アニメーションのスムーズさで判断いただければと思います。



テスト構成

  • 前述から VDI の性能は物理コア数が重要ということで、AMD Opteron 6100*2 の中から「2.5GHz, 12Core」版を2個搭載した標準的なサーバーを選択。
  • 2CPU/24Core ということで上記の計算式だと 24×8=192 VMs。
    しかし、16GB のメモリモジュールは 8 枚しか手元に無く、
    メモリは全部で 256 GB となったので 150 VMs の集約とする (6.25 VMs/コア)
  • ストレージはローカル。RAIDコントローラーに 1GB のキャッシュを載せる。
    150 個もクローンすると容量が足りないので RAID5 (10Krpm×8HDD)
  • 移動ユーザーが原因でボトルネックになる と困るので、ローカルプロファイル。
  • PCoIP とか ICA とかプロトコルに依存したくないので、平等に RDP 7.0。
  • Windows 7 ゲストは Hyper-V がチート的に速いため VMware ESXi 5.0 を選択。

おまけ

151 個の仮想マシンを全部立ち上げるのに掛かった時間は 20 分くらいでした。
キャッシュ 1GB 積むと SAS の内蔵 RAID でも十分速い!
VAAI/ATS に対応したストレージならもっと速そうです。

*1:今回は無償版を使わせていただいたため、3ドメイン、4コントローラーに分けています

*2:現在からみると旧モデル