今回は、デスクトップ仮想化の設計フェーズにおける「サイジング」についてポイントを解説する。企業や部署によってPCの利用状況には大きな違いがあるため、「Windows XPを利用する場合の標準ケース」「Windows 7を利用する場合の標準ケース」「Windows 7をパワーユーザーが使うケース」といったパターンに分けてサイジングの目安を見ていこう。
リソースのモニタリングによる利用状況の把握
現在利用中の既存クライアントPCについて、リソース利用状況の平均を把握することは案外難しい。Microsoft Officeを利用する環境において、たくさんのウィンドウを同時に起動する利用者もいれば、同時起動が少ない利用者もいる。利用者によってデスクトップの使い方が様々なのだ。事前にパフォーマンスログをサンプリングして収集し、結果をグループ化した上で分析すると、リソース利用状況の把握精度が向上する。
Windowsのパフォーマンスモニタを利用してリソースの利用状況をモニタリングするには、表1のように、CPU使用率、メモリー使用量、ディスクI/O使用量、ネットワーク使用量といった項目についてログを収集するとよい。
パフォーマンス 確認項目 | オブジェクト | カウンタ | インスタンス |
---|---|---|---|
CPU使用率 | Processor | %Processor Time | _Total |
メモリー使用量 | Memory | Committed Bytes | N/A |
ディスクI/O使用量(読み込み) | Physical Disk | Disk Reads/sec | 0 C: (*1) |
ディスクI/O使用量(書き込み) | Physical Disk | Disk Writes/sec | 0 C: (*1) |
ネットワーク使用量 | Network Interface | Bytes Total/sec | 利用中のネットワークを選択する(*2) |
ハイパーバイザー側でもある程度はパフォーマンスを計測できる。図1は、XenServerの運用管理ツールXenCenter 6.5を利用して、XenServer上に試験的にホストしたWindows 7のパフォーマンスグラフになる。
少しわかりにくいが、図1の上のグラフはCPU使用率を表し、ログオン、ログオフを4回繰り返した後、Officeなどのアプリケーションソフトを複数操作し、シャットダウンしたときのものだ。ログオン時には、CPUにログオフ時の倍以上の負担がかかる。
図1の下のグラフは、ディスクへのアクセス状況を示している。スケールの関係で図からは読み取りにくいが、ログオン時は比較的I/Oが少なく、ログオフ時に書き込みI/Oが発生する。
ディスクI/Oの9割を占める「書き込み」に注目
クライアントPCの平均CPU使用率は20~40%程度(CPUの性能による)で、多くの時間は10%未満の数値となり、ときどき使用率が跳ね上がる。パフォーマンスモニタ以外に、マイクロソフトの「Windows Sysinternals」サイトで入手できるシステム監視ユーティリティ「Process Monitor」や「DiskMon for Windows」を利用すれば、その詳細を確認できる。
さて、パフォーマンスモニタで具体的に観察してみよう。図2は、Word 2007を稼働させ、編集作業を行った場合のIOPS(1秒当たりのディスクI/O)をパフォーマンスモニタで計測したものだ。デスクトップを起動し、ログインした後、全く操作しない場合のCPUリソースはほぼ0となり、ディスクの書き込みI/Oのみ、わずかに発生している。
一般に、アプリケーションを利用した場合のディスクアクセスは、概ねリードとライトが同程度といわれている。だが、実際にXenDesktop 4.0上のWindows 7(ウイルス対策ソフト導入済みの環境)をパフォーマンスモニタによって確認したところでは、システムドライブへのI/Oでは書き込みが圧倒的に多い。9割程度は書き込みと考えてよい。
Word 2007の操作中は平均4IOPS程度(図2では平均3.166)で、OfficeやAdobe Reader、メモ帳などを同時に複数稼働させたところ、平均6IOPS程度となった。この場合も書き込みが大部分となっている。ディスクアクセスの見積もりは4IOPS(ライトユーザー)~12IOPS(パワーユーザー)が妥当と判断しているが、アプリケーションの種類や共有ファイルアクセス、メール通信の頻度などに影響されるので、自社のデスクトップ環境が具体的にどれくらいのリソースを消費するのか把握した上で個別に判断してもらいたい。