Hyper-V のパフォーマンス テスト (SharePoint Foundation 2010)
適用先: SharePoint Foundation 2010
この記事では、Windows Server 2008 Hyper-V テクノロジを使用する仮想コンピューティング環境で実施した Microsoft SharePoint Foundation 2010 のパフォーマンス テストの結果について説明します。
この記事の内容
テストの目的と説明
ハードウェア プラットフォーム
ソフトウェア プラットフォーム
テスト ファームのトポロジ
テスト方法
テスト結果
結論と推奨事項
テストの目的と説明
テストの主な目的は、Hyper-V 環境で Microsoft SharePoint Foundation を仮想化したときの動作を調べることでしたが、それに加えて、次の調査も行いました。
パフォーマンスのボトルネックを調べる。
SharePoint Foundation を実行するサーバーを、ハイパースレッディング (HT) や Second Level Address Translation (SLAT) などの新しいテクノロジをサポートするホスト サーバー上で仮想化すると、パフォーマンスがどの程度向上するかを調べる。
SharePoint Foundation 2010 を仮想化する際に検討する必要がある事柄や制限事項を調べる。
テストの目的に応じて、次の 4 つのテスト群を作成しました。この記事では、これらのテスト群について説明します。
仮想マシンと物理コンピューターとのパフォーマンスの比較
このテストでは、物理コンピューターと仮想マシンの各構成に同じロードを適用したときのパフォーマンスを調べます。
仮想マシンのメモリのスケール アップ
このテストでは、仮想マシン (VM) へのメモリの割り当てを増やしたときのパフォーマンスへの影響を調べます。
単一ホストのスケール アウト
このテストでは、単一のホストに展開される VM の数を増やしたときのパフォーマンスへの影響を調べます。
仮想マシンのスケール アウト
このテストでは、1 つ以上のホストに展開される仮想マシンの数を増やしたときのパフォーマンスへの影響を調べます。
重要
上記のテストの結果から何らかの結論を導き、その結論を自分の環境に適用するときには注意が必要です。このテストはあくまでも、特定のハードウェアにおいて特定のファーム トポロジと特定のワークロードを使用して実施したものです。
ハードウェア プラットフォーム
ほとんどのテスト群では、次の 2 つの HP (Hewlett Packard) ハードウェア群を使用して、仮想マシンをホストしました。
HP BL680c-G5 (ブレード サーバー)
HP ProLiant SE326M1 (Mach 1 サーバー)
ブレード サーバーを使用したテストは、(新しいサーバーに買い換えるのではなく) 既存のサーバー テクノロジを VM のホストに再利用するユーザーを想定して行いました。
Mach 1 サーバーは、ハイパースレッディング (Intel ハイパースレッディング (HT)) をサポートする Intel チップセットのパフォーマンス特性を調べるために使用しました。また、Mach 1 チップセットは、Intel VT Extended Page Tables (NPT) テクノロジもサポートしています。Windows Server 2008 R2 Hyper-V では、このテクノロジを使用して Second Level Address Translation (SLAT) を実装します。詳細については、「Hyper-V の新機能」(https://go.microsoft.com/fwlink/?linkid=155234&clcid=0x411) を参照してください。
HP ブレード サーバー
次の表に、SharePoint Foundation のテストに使用した HP ブレード サーバーのハードウェアの概要を示します。
数量 | 製造元とモデル | ロール | CPU | メモリ | ネットワーク アダプター | 記憶域 |
---|---|---|---|---|---|---|
4 |
HP BL680c-G5 |
SQL Server データベース サーバー、Hyper-V ホスト、物理サーバー |
Intel X7450 (24 コア)、2.24 GHz CPU |
128 GB |
デュアル GbE |
SAN |
8 |
Dell PE R710 |
ワークロード コントローラー、ワークロード クライアント、仮想ドメイン コントローラー |
Intel X5550 (8 コア)、2.66 GHz CPU |
72 GB |
デュアル GbE |
SAS (複数の RAID レベル) |
1 |
F5 BigIP 6800 |
負荷分散 |
HP Mach 1 サーバー
次の表に、SharePoint Foundation のテストに使用した HP Mach 1 サーバーのハードウェアの概要を示します。
数量 | 製造元とモデル | ロール | CPU | メモリ | ネットワーク アダプター | 記憶域 |
---|---|---|---|---|---|---|
5 |
HP ProLiant SE326M1 |
SQL Server データベース サーバー、Hyper-V ホスト、仮想ドメイン コントローラー、物理サーバー |
Intel L5520 (8 コア)、2.26 GHz CPU、HT 対応 |
48 GB |
デュアル GbE |
SAS (RAID 10) |
5 |
HP ProLiant DL 380 G5 |
ワークロード コントローラー、ワークロード クライアント |
Intel 5150 (4 コア)、2.66 GHz CPU |
32 GB |
デュアル GbE |
SAS (RAID 10) |
1 |
F5 BigIP |
負荷分散 |
ソフトウェア プラットフォーム
パフォーマンスのテストでは、次の 64 ビット版製品を使用しました。
Windows Server 2008 R2 Enterprise
SQL Server 2008 R2 Enterprise
Microsoft SharePoint Foundation 2010
Microsoft Visual Studio 2008 Team System (VSTS)
Microsoft Visual Studio Team System 2008 Test Edition
テスト ファームのトポロジ
どちらの HP サーバー ハードウェア群でも同じ 3 層ファーム トポロジを使用しました。このトポロジを選択した理由は、一般的な Microsoft SharePoint Foundation ロールであるフロントエンド Web サーバー、アプリケーション サーバー、およびデータベース サーバーをサポートしているからです。
注意
データベースは、すべてのテストで、物理サーバー上でホストしました。
テスト方法
テスト ミックスは、Microsoft 内部の SharePoint Foundation サーバーで確認されている使用パターンに基づいて、次のタスクで構成しています。
作成、使用、更新、および削除
リスト ビュー、ドキュメント ライブラリなどのページ ビュー
Microsoft Office Web Apps を使用した、Word、Excel、および PowerPoint のブラウザーベースのビュー
サーバーとリッチ クライアント (アプリケーションとしての Microsoft Word 2010、Microsoft Excel 2010、Microsoft PowerPoint 2010 など) の間のシミュレートされたトラフィック
84 個の異なるアクションを使用して、これらのタスクをテストしました。このテストに使用したアクションは、テスト ミックス 0.02 ~ 80% の範囲にあるものです。ロードは、各テスト グループに段階的 (1 ~ 10) に適用しました。シミュレートしたユーザー数は、ユーザーあたりの接続モデルで 1 ~ 1,000 名です。
10 分間のウォームアップの後、テストを 10 分間実行し、データを 10 秒ごとに収集しました。
4 つの各テスト群で、2 つの主要なパフォーマンス インジケーターを使用しました。1 つは、1 秒間あたりの最大通過要求数 (最大通過 RPS)、もう 1 つは、1 要求あたりの時間 (ミリ秒) です。
テスト結果
このテスト結果は、上記のハードウェアとワークロードに固有で、すべてのケースにおける製品のパフォーマンスを示すものではありません。このテスト結果からわかるのは、特定の使用パターンによって SharePoint Foundation 2010 の構成を仮想化すると、潜在的なトレードオフが存在するということです。SharePoint Foundation のインフラストラクチャと実装のコンテキストでは、このテスト結果を解釈することが特に重要です。
仮想マシンと物理コンピューターとのパフォーマンスの比較
このテストでは、物理コンピューターと一連の仮想マシンに、同じロードを適用したときのパフォーマンスを調べます。
このテスト群には次の目的を設定しました。
物理サーバーを仮想化すると、パフォーマンスがどの程度低下または向上するかを調べる。
物理コンピューターと同じパフォーマンス レベルを達成するのに必要な仮想構成を調べる。
物理サーバーに適用されるワークロードを仮想マシンに適用すると、リソースのオーバーヘッドがどの程度発生するか、またはパフォーマンスがどの程度低下するかを調べる。
HP ブレード サーバー
物理サーバーを、24 コアと 24,576 MB のメモリを持つフロントエンド Web サーバーとして使用します。仮想環境では、2 台のホストで 6 台の VM を Web サーバーとして使用します。各 VM は 4 つの仮想プロセッサと 15,000 MB のメモリを備えています。
上記のグラフで次の結果に注目してください。
最大通過 RPS は物理コンピューターが約 20% 大きい。
平均応答時間 (ms) は物理コンピューターが約 15% 小さい。
仮想マシンの Web サーバーの CPU 使用率 (%) は物理サーバーが約 9% 小さい。
HP Mach 1 サーバー
物理サーバーを、8 コアと 49,152 MB のメモリを持つフロントエンド Web サーバーとして使用します。仮想環境では、2 台のホストで 4 台の VM を Web サーバーとして使用します。各 VM の構成を次の一覧に示します。
4 つの仮想プロセッサ
8,192 MB のメモリ
固定サイズの VHD ファイルを使用する 2 つのボリューム
次のグラフに、ハイパースレッディングを有効 (HT on) にした VM、ハイパースレッディングを無効 (HT off) にした VM、および物理コンピューターのパフォーマンスの結果を示します。
上記のグラフで次の結果に注目してください。
ハイパースレッディングが有効 (HT on) になっている場合:
最大通過 RPS は物理コンピューターが約 18% 大きい。
平均応答時間 (ms) は物理コンピューターが約 15% 小さい。
Web サーバーの CPU 使用率 (%) は、ハイパースレッディングが無効になっている VM よりも約 46% 小さく、物理コンピューターよりも約 36% 小さい。
ハイパースレッディングが無効 (HT off) になっている場合:
最大通過 RPS は物理コンピューターが約 29% 大きい。
平均応答時間 (ms) は物理コンピューターが約 20% 小さい。
仮想マシンのメモリのスケール アップ
このテスト群では、VM のメモリをスケール アップしたときのパフォーマンスへの影響を調べるために、フロントエンド Web サーバーを、さまざまな容量のメモリを使用するように構成します。このテストでは、2 台のホスト サーバー (HP ブレード サーバー) で 4 台のフロントエンド Web サーバーを使用します。各 VM は 4 つの仮想プロセッサと、パススルー ディスクを使用した 2 つのボリュームを使用するように構成されています。
次のグラフに、RAM を初期構成の 2,048 MB から 15,000 MB にスケール アップした VM の平均応答時間と 1 秒間あたりの要求数 (RPS) を示します。
上記のグラフから、ホスト、SQL Server、および VSTS エージェントの CPU 使用率にはほとんど違いがないことがわかります。
スケールアップの観点からは、メモリを 2 GB から 4 GB にスケールアップしても、パフォーマンスはほとんど向上しません。仮想マシンに 4 GB 以上のメモリを割り当てても、このテストでのワークロードにおいてはパフォーマンスの著しい向上は見られません。
単一ホストのスケール アウト
このテストでは、単一のホストで VM の数を増やしたときのパフォーマンスへの影響を調べます。また、ホスト コアをオーバーサブスクライブしたときのパフォーマンスへの影響も調べます。
HP ブレード サーバー
このテストでは、最大 8 台の VM を使用します。各 VM の構成を次の一覧に示します。
4 つの仮想プロセッサ
15,000 MB のメモリ
パススルー ディスクを使用する 2 つのボリューム
次のグラフからは、6 台のフロントエンド Web サーバーを使用したときに、最適なスループットが達成されることがわかります。ここでは、論理プロセッサと仮想プロセッサの対応は 1:1 です。さらに多くの VM を追加すると、パフォーマンスは低下します。唯一観察されたボトルネックは、CPU をオーバーサブスクライブしたときに発生する CPU の競合です。
HP ブレード サーバーで使用したテスト ミックスを Mach 1 サーバーで 2 回実行しました。1 回目は、ハイパースレッディングを有効にした状態で、2 回目は、ハイパースレッディングを無効にした状態で実行しました。
HP Mach 1 サーバー
このテストでは、最大 4 台の VM を使用します。各 VM の構成を次の一覧に示します。
4 つの仮想プロセッサ
8,192 MB のメモリ
固定サイズの VHD ファイルを使用する 2 つのボリューム
次のグラフに、ホストでハイパースレッディングを有効にした状態でのパフォーマンスの結果を示します。
次のグラフに、ホストでハイパースレッディングを無効にした状態でのパフォーマンスの結果を示します。
上記の 2 つのグラフは、ホスト CPU をオーバーサブスクライブしても、パフォーマンスには大きく影響しないため、オーバーサブスクライブする必要はないということを示しています。
このテスト結果からは、もう 1 つ重要な点がわかります。それは、"Web サーバーのホストの論理 CPU 使用率" として示される計算ヘッドルームでの増加です。両方のグラフでこの値を比較すると、CPU のオーバーサブスクライブの程度に応じて、計算処理能力が 10 ~ 25% の範囲で増加していることがわかります。
仮想マシンのスケール アウト
このテスト群では、仮想マシンの数をホスト全体でスケール アウトしたときのパフォーマンスへの影響を調べて、ボトルネックを特定します。また、仮想マシンのロールが混在しているときのパフォーマンスへの影響も調べます。
このテストでは、一連のホスト サーバー (2 ~ 3 台) と一連の仮想マシン (6 ~ 12 台) をホスト全体に展開しています。各 VM の構成を次の一覧に示します。
2 つの仮想プロセッサ
15,000 MB のメモリ
パススルー ディスクを使用する 2 つのボリューム
次のグラフに、仮想マシンをスケール アウトしたときのパフォーマンスを示します。
上記のグラフで次の結果に注目してください。
仮想マシンごとに専用のロールを割り当てている場合は、ホスト数を 3、VM 数を 12 にスケール アップしたときに、パフォーマンスの向上が顕著です。最大通過 RPS をベンチマークにすると、パフォーマンスは約 2.5 倍向上しています。一方、1 要求あたりの平均応答時間は低下し、応答時間は約 26% 延びています。
仮想マシンのロールが混在し、ホスト数と VM 数を同じにした場合、最大通過 RPS は約 31% 向上します。また、平均応答時間 (ms) も向上し、約 25% 短縮しています。一般に、アプリケーション サーバーでのデューティ サイクルは低下し、Hyper-V ではホスト上で実行される他の VM の追加リソースを使用できます。
追加のパフォーマンス測定により、仮想マシンのロールが混在した状態でテストを実行したときに、SQL Server の CPU 使用率が大幅に増加することがわかりました。増加率は約 35% でした。
HP Mach 1 サーバー
このテストでは、一連のホスト サーバー (2 ~ 4 台) と一連の仮想マシン (3 ~ 9 台) をホスト全体に展開しています。各 VM の構成を次の一覧に示します。
4 つの仮想プロセッサ
8,192 MB のメモリ
固定サイズの VHD ファイルを使用する 2 つのボリューム
次のグラフに、ホストでハイパースレッディングを有効にした状態でのパフォーマンスを示します。
上記のグラフで次の結果に注目してください。
仮想マシンごとに専用のロールを割り当てている場合は、ホスト数を 3、VM 数を 6 にスケール アップしたときに、パフォーマンスの向上が顕著です。最大通過 RPS をベンチマークにすると、パフォーマンスは約 42% 向上し、1 要求あたりの平均応答時間は約 21% 短縮します。
さらに、ホスト数を 4、仮想マシン数を 9 にスケール アップすると、最大通過 RPS は、ホスト数 3、VM 数 6 の構成との比較で、約 57% 向上します。HP ブレード サーバーとの比較では、平均応答時間 (ms) の向上は約 4% にとどまります。
SQL Server の CPU 使用率 (%) のパターンは HP ブレード サーバーと同じで、直線的に 41% 向上します。
結論と推奨事項
次の表に、特定のワークロード、ハードウェア、および仮想マシンに基づいて実施したテストから導いた結論をまとめます。
テスト群 | ホストのハードウェア | 結論 |
---|---|---|
仮想マシンと物理コンピューターとのパフォーマンスの比較 |
HP ブレード サーバー |
物理コンピューターのパフォーマンスは、RPS が 15%、1 要求あたりの応答時間が 42% 向上しました。 |
HP Mach 1 サーバー |
物理コンピューターのパフォーマンスは、RPS が約 15%、1 要求あたりの応答時間が約 18% 向上しました。 |
|
仮想マシンのメモリのスケール アップ |
HP ブレード サーバー |
仮想マシンに 4 GB を超えるメモリを割り当てても、それ以上の効果は見られません。 |
単一ホストのスケール アウト |
HP ブレード サーバー |
論理プロセッサと仮想プロセッサとの対応が 1:1 のときに、スループットは最大になります。CPU をオーバーサブスクライブすると、パフォーマンスは低下します。 |
HP Mach 1 サーバー |
このハードウェアでは、CPU をオーバーサブスクライブしても、パフォーマンスは著しく低下しません。計算ヘッドルームの量は、CPU のオーバーサブスクライブの程度によって決まります。 |
|
仮想マシンのスケール アウト |
HP ブレード サーバー |
Microsoft SharePoint Foundation 2010 は、少なくともホスト数 3、フロントエンド Web サーバー数 12 までは直線的にスケールします。最大スループットは、各ホストで Microsoft SharePoint Foundation のロールを混在すると達成されます。 |
HP Mach 1 サーバー |
Microsoft SharePoint Foundation 2010 は、少なくともホスト数 4、フロントエンド Web サーバー数 9 までは直線的にスケールします。 |
今回のテスト環境では、SharePoint Foundation のロールを仮想化すると、パフォーマンスが低下することがわかりました。その原因は、Hyper-V のオーバーヘッドと、各仮想マシンのオペレーティング システムのオーバーヘッドです。
同様の構成を持つ物理コンピューターとの比較で、仮想化のオーバーヘッドとパフォーマンスの低下がどの程度発生するかは、サイズ (メモリの容量、コアの数など) や、ホスト ハードウェアのチップセットの機能 (Second Level Address Translation やハイパースレッディングのサポートなど) によって異なります。
SharePoint ファームを仮想化する目的を明確にすることをお勧めします。仮想化することが決まったら、綿密な計画とテストを行って、あらゆるパフォーマンス オプションとその影響について十分に理解する必要があります。
この記事で説明するテスト結果は 1 つの参考資料として利用できます。ただし、これらはあくまでも、特定の物理環境における特定のワークロードから得られたものであり、最終的な結論ではありません。