チェックリスト:Hyper-V のパフォーマンスの最適化
Hyper-V 仮想マシンでBizTalk Server データベースを持つBizTalk ServerインスタンスやSQL Server インスタンスを実行する場合は、次の考慮事項が適用されます。
CPU リソースとディスク リソースの 110% から 125% を Hyper-V Virtual Machinesに割り当てる
CPU リソースの 110% から 125%、物理ハードウェア ソリューションに必要なディスク リソースの 105% から 110% を、ソリューションに使用される Hyper-V 仮想マシンに割り当てる予定です。 追加のリソースを使用して Hyper-V 仮想マシンを構成することで、Hyper-V 仮想化テクノロジに必要なオーバーヘッドに対応しながら、物理ハードウェアと同等のパフォーマンスを実現できます。
手順 | リファレンス |
---|---|
BizTalk Server ソリューションのハードウェア要件の範囲を指定します。 | - ソリューションのハードウェア要件の範囲を指定するには、BizTalk Server運用ガイドの「BizTalk Server環境の計画」セクションのガイダンスに従います。 - ソリューションで必要となる BizTalk Server のエディションと数をスコープにするには、「BizTalk Server 層の計画」に記載されている計画に関する考慮事項BizTalk Server確認します。 - ソリューションに必要なSQL Server コンピューターのバージョンと数をスコープにするには、次のドキュメントのデータベース計画に関する考慮事項を確認します。 --- "データベース層の計画" ---「Hyper-V 環境でのSQL Server 2008 の実行に関するベスト プラクティスとパフォーマンスに関する考慮事項」の「Hyper-V でのSQL Serverの実行のパフォーマンス オーバーヘッド」セクションを参照してください。 - 開発、テスト、ステージング、および運用環境の計画を完了するには 、「開発、テスト、ステージング、および運用環境の計画」を確認してください。 |
BizTalk Server ソリューションのハードウェア要件のスコープを設定したら、可能であれば、110% から 125% の CPU とディスク リソースを使用して Hyper-V マシンを構成することを計画します。 | たとえば、ソリューションで使用される物理BizTalk Server コンピューターのハードウェア要件が 2 GB RAM、2GHZ で実行されるデュアル コア CPU、500 GB の物理ディスクが 2x 500 GB であると判断された場合、理想的には、ソリューションで使用される Hyper-V 仮想マシンは、2 つ以上の仮想プロセッサが実行 >= 2.2 GHZ で構成され、物理ディスクが高速になります (通常、スピンドルを追加するか、より高速なディスクを使用します)。 |
Hyper-V のパフォーマンスを最適化する
最適なパフォーマンスを得るために Hyper-V を構成するには、次の一般的なガイドラインを使用します。
手順 | リファレンス |
---|---|
パフォーマンス チューニング仮想化サーバーに推奨されるガイダンスを適用します。 注: 「BizTalk Server仮想化パフォーマンスのテスト」で説明されているテスト シナリオでは、適用された構成オプションについては、「テスト シナリオの概要」の「物理インフラストラクチャの詳細」および「仮想化の詳細」セクションで説明されています。 |
「 Windows Server 2008 R2 のパフォーマンス チューニング ガイドライン」の「仮想化サーバーのパフォーマンス チューニング」セクション。 |
使用されていない仮想マシン接続ウィンドウを閉じます。 | Hyper-V マネージャーで、仮想マシン名をダブルクリックすると、[仮想マシン接続] ウィンドウが表示されます。 これらのウィンドウでは、それ以外の場合は無料で使用できるリソースが使用されます。 |
Hyper-V マネージャーを閉じるか最小化します。 | Hyper-V マネージャーは、実行中の各仮想マシンの CPU 使用率とアップタイムを継続的にポーリングすることで、リソースを消費します。 Hyper-V マネージャーを閉じるか最小化すると、これらのリソースが解放されます。 |
Hyper-V 環境でのディスク、メモリ、ネットワーク、プロセッサのパフォーマンスを最適化する
Hyper-V 仮想環境でのディスク、メモリ、ネットワーク、プロセッサのパフォーマンスを最適化するには、次のガイドラインを使用します。
プロセッサのパフォーマンスを最適化する
Hyper-V 仮想環境で実行されているゲスト オペレーティング システムのプロセッサ パフォーマンスを最適化するには、次のガイドラインに従います。
最適なパフォーマンスを得るために、使用可能な論理プロセッサへの仮想プロセッサの 1 対 1 の割り当てを構成する - CPU 負荷の高いアプリケーションを実行する場合、最適な構成は、ゲスト オペレーティング システム内の仮想プロセッサとホスト オペレーティング システムで使用できる論理プロセッサの 1 対 1 の比率です。 2:1 や 1:2 などの他の構成の効率は低下します。 次の図は、ホスト オペレーティング システムで使用できる論理プロセッサに対するゲスト オペレーティング システム内の仮想プロセッサ コアの 1 対 1 の割り当てを示しています。
仮想と論理プロセッサの比率
異なるゲスト オペレーティング システムの仮想プロセッサの制限に注意し、それに応じて計画する - Hyper-V 仮想マシンで実行されているゲスト オペレーティング システムで使用できるプロセッサ コアの数は、ホストされているアプリケーションの全体的なパフォーマンスに影響を与える可能性があります。 そのため、BizTalk Server データベースをホストするBizTalk ServerやSQL Server インスタンスをホストするために、Hyper-V 仮想マシンにインストールされるゲスト オペレーティング システムを考慮する必要があります。 Hyper-V は、指定されたゲスト オペレーティング システムに対して次の数の仮想プロセッサに対応します。
オペレーティング システム | 仮想プロセッサの制限 |
---|---|
Windows Server 2008 R2。 Windows Server 2008 R2 のすべてのエディションは 64 ビットのみです。 | 4 |
Windows Server 2008 SP2 64 ビット | 4 |
Windows Server 2008 SP2 32 ビット | 4 |
Windows 7 64-bit | 4 |
Windows 7 32 ビット | 4 |
Windows Vista 64 ビット | 2 |
Windows Vista 32 ビット | 2 |
Note
Hyper-V でサポートされているゲスト オペレーティング システムの詳細については、「Windows Server 上の Hyper-V で サポートされている Windows ゲスト オペレーティング システム」と「 サポートされている Windows ゲスト オペレーティング システム」を参照してください。
ディスク パフォーマンスの最適化
Hyper-V 仮想環境で実行されているゲスト オペレーティング システムのディスク パフォーマンスを最適化するには、次のガイドラインに従います。
手順 | リファレンス |
---|---|
固定サイズの仮想ハード ディスク (VHD) オプションを使用して、Hyper-V 仮想マシンで使用する仮想ディスクを構成します。 固定サイズ VHD では、物理ディスクに近いパフォーマンスと、クラスタリングのサポートやスナップショット ディスクサポートなどの機能の柔軟性が提供されます。 | Hyper-V 環境のディスク ストレージには、仮想 IDE コントローラーまたは仮想 SCSI コントローラーを使用してアクセスできます。 以前のバージョンの Microsoft 仮想化テクノロジとは異なり、仮想ハード ディスクにアクセスするときに仮想 IDE コントローラーまたは仮想 SCSI コントローラーを使用してもパフォーマンスに違いはありません。 Hyper-V 環境では、次のディスク ストレージ オプションを使用できます。 - 固定サイズディスク - 固定サイズの仮想ハード ディスク (VHD) は、作成時に定義された最大ディスク サイズに基づいて、物理ディスクにデータ ブロックが事前に割り当てられるものです。 たとえば、100 GB の固定サイズ VHD を作成した場合、Hyper-V では、新しい VHD を作成するときに VHD ヘッダーとフッターに必要なオーバーヘッドに加えて、100 GB のデータ ブロック ストレージがすべて割り当てられます。 - ディスクを動的に拡張する - 動的に拡張される VHD は、初期仮想ハード ディスクにデータ ブロックが含まれない VHD です。 代わりに、VHD の作成時に指定された最大サイズまでのデータが VHD に書き込まれるときに、領域が動的に割り当てられます。 たとえば、100 GB の動的拡張ディスクには、最初は VHD ヘッダーのみが含まれており、2 MB 未満の物理記憶域領域が必要です。 仮想マシンによって動的に拡張される VHD に新しいデータが書き込まれると、追加の物理データ ブロックが VHD ファイルに最大 100 GB まで 2 MB ずつ割り当てられます。 - 差分ディスク - 差分ディスクは、"親" VHD に関連付けられている動的に拡張される VHD ファイルの特殊な種類です。 この親/子ストレージ トポロジでは、親ディスクは変更されず、"子" 差分ディスクに対してのみ行われる書き込み操作が行われます。 すべての読み取り操作は、まず差分ディスクに対してチェックされ、更新されたコンテンツが差分ディスクに書き込まれたかどうかを確認します。コンテンツが差分ディスクにない場合、コンテンツは親 VHD から読み取られます。 差分ディスクは、特定のベースライン構成を維持する必要があり、ベースラインへの変更を簡単にテストしてロールバックする必要があるシナリオに役立ちます。 差分ディスクを介して提供される親/子ストレージ トポロジの柔軟性はテストに役立ちますが、差分ディスクを使用する場合に必要な親子トポロジの維持に関連するオーバーヘッドがあるため、パフォーマンスに最適な構成ではありません。 - パススルー ディスク – パススルー ディスク機能を使用すると、ゲスト オペレーティング システムは Hyper-V ホスト ファイル システムをバイパスし、ディスクに直接アクセスできます。 パススルー経由でゲスト オペレーティング システムで使用できるディスクは、ホストとゲストの両方のオペレーティング システムが同時にディスクにアクセスしないように、Hyper-V ホストで "オフライン" に設定する必要があります。 パススルー ディスクは、他のディスク ストレージ オプションよりもパフォーマンス上の利点を提供しますが、仮想マシンのスナップショットやクラスタリングのサポートなど、仮想ディスクの特定の機能はサポートしていません。 したがって、BizTalk またはSQL Server環境ではパススルー ディスク機能を使用することはお勧めしません。これは、パフォーマンス上の限界は、不足している機能によるオフセット以上のものであるためです。 Hyper-V で提供されるディスク ストレージの選択肢の相対的なパフォーマンスの詳細については、 Hyper-V ストレージ分析に関するブログ エントリを参照してください。 |
SCSI コントローラーを使用してデータ ボリュームのディスクを構成する | これは、HYPER-V 統合サービスがインストールされている場合にのみ SCSI コントローラーをインストールできるのに対し、エミュレートされた IDE コントローラーは Hyper-V 統合サービスをインストールせずに使用できるため、推奨されます。 統合サービスで提供される IDE フィルター ドライバーを使用して実行されるディスク I/O は、エミュレートされた IDE コントローラーで提供されるディスク I/O パフォーマンスよりも大幅に優れています。 そのため、Hyper-V 仮想化環境のデータ ファイルに最適なディスク I/O パフォーマンスを確保するには、ホストオペレーティング システムとゲスト オペレーティング システムの両方に統合サービスをインストールし、合成 SCSI コントローラーを使用してデータ ボリュームのディスクを構成します。 複数のデータ ドライブにまたがる集中的なストレージ I/O ワークロードの場合は、全体的なパフォーマンスを向上させるために、各 VHD を個別の合成 SCSI コントローラーに接続する必要があります。 さらに、各 VHD は個別の物理ディスクに格納する必要があります。 大事な: SCSI コントローラーにシステム ディスクを接続しないでください。 オペレーティング システムを含む仮想ハード ディスクを IDE コントローラーに接続する必要があります。 |
メモリ パフォーマンスの最適化
Hyper-V 仮想環境で実行されているゲスト オペレーティング システムのメモリ パフォーマンスを最適化するには、次のガイドラインに従います。
手順 | リファレンス |
---|---|
Hyper-V 仮想マシンをホストする物理コンピューターに十分なメモリがインストールされていることを確認します | - 多くの場合、使用可能な物理メモリは、Hyper-V 仮想マシンで実行されているBizTalk Serverの最も重要なパフォーマンス要因です。 これは、各仮想マシンが非ページ プール メモリ、またはディスクにページングできないメモリに存在する必要があるためです。 ページ プール以外のメモリはディスクにページングできないため、仮想マシンをホストする物理コンピューターには、各仮想マシンに割り当てられたメモリの合計と次の合計と同じ使用可能な物理メモリが必要です。 ハイパーバイザーの場合は 300 MB、各仮想マシンに割り当てられた最初の GB の RAM には 32 MB、各仮想マシンに割り当てられた RAM の追加 GB ごとに 8 MB、ルート パーティションで実行されているホスト オペレーティング システムの場合は 512 MB たとえば、Hyper-V 仮想マシンに Hyper-V マネージャーで 2 GB のメモリが割り当てられている場合、その Hyper-V 仮想マシンを実行するときに使用される実際の物理メモリは約 2388 MB (ハイパーバイザーの場合は 300 MB、仮想マシンに割り当てられた 2 GB+ 32 MB + 8 MB = 2388 MB) になります。 ハイパーバイザーは 1 回だけ読み込む必要があるため、後続の仮想マシンを初期化しても、ハイパーバイザーの読み込みに関連する 300 MB のオーバーヘッドは発生しません。 そのため、2 つの Hyper-V 仮想マシンにそれぞれ Hyper-V マネージャーで 2 GB のメモリが割り当てられている場合、これらの Hyper-V 仮想マシンを実行するときに使用される実際の物理メモリは約 4476 MB (ハイパーバイザーの場合は 300 MB、仮想マシンに割り当てられた 4 GB + 64 MB + 16 MB = 4476 MB) になります。 メモ:一般的な経験則として、ルート パーティションに少なくとも 512 MB のメモリを割り当てて、I/O 仮想化、スナップショット ファイルのサポート、子パーティション管理などのサービスを提供することを計画します。 - 可能な場合は 64 ビットのゲスト オペレーティング システムを使用 する – ゲスト オペレーティング システムごとに 64 ビット オペレーティング システムを使用することを検討してください。 既定では、32 ビットの Windows オペレーティング システムでは、プロセスあたり最大 2 GB の仮想アドレス空間しかアドレス指定できないため、これを行う必要があります。 64 ビット オペレーティング システムをインストールすると、アプリケーションは Hyper-V 仮想マシンをホストする物理コンピューターにインストールされているメモリを最大限に活用できます。 |
ネットワーク パフォーマンスの最適化
Hyper-V では、仮想マシンで合成およびエミュレートされたネットワーク アダプターがサポートされていますが、合成デバイスではパフォーマンスが大幅に向上し、CPU オーバーヘッドが削減されます。 これらの各アダプターは仮想ネットワーク スイッチに接続され、外部ネットワーク接続が必要な場合は物理ネットワーク アダプターに接続できます。 このセクションの推奨事項に従って、Hyper-V 仮想環境で実行されているゲスト オペレーティング システムのネットワーク パフォーマンスを最適化します。
Note
これらの推奨事項は、「 Windows Server 2008 R2 のパフォーマンス チューニング ガイドライン 」の「仮想化サーバーのパフォーマンス チューニング」セクションからダウンロードできます。 割り込みモデレーションなど、ルート パーティション内のネットワーク アダプターを調整する方法については、このガイドの「ネットワーク サブシステムのパフォーマンス チューニング」セクションを参照してください。 そのセクションの TCP チューニングは、必要に応じて子パーティションに適用する必要があります。
手順 | リファレンス |
---|---|
プライベート Virtual Networkを使用するように、同じ Hyper-V ホスト コンピューターで実行されている Hyper-V Virtual Machinesを構成する | ネットワーク最適化の「プライベート Virtual Networkを使用するように同じ Hyper-V ホスト コンピューターで実行されている Hyper-V Virtual Machinesを構成する」セクションの推奨事項に従います。 |
仮想マシン ネットワーク カードの TCP オフロードを無効にする | ネットワーク 最適化の「仮想マシン ネットワーク カードの TCP オフロードを無効にする」セクションの推奨事項に従います。 |
Hyper-V 合成ネットワーク アダプターを使用するようにゲスト オペレーティング システムを構成します。 | Hyper-V は、既存のハードウェアを模倣するエミュレートされたネットワーク アダプターと比較して、ネットワーク I/O の CPU オーバーヘッドを大幅に削減するために VM 専用に設計された合成ネットワーク アダプターを備えています。 合成ネットワーク アダプターは、より効率的なデータ転送のために共有メモリを使用して、VMBus 経由で子パーティションとルート パーティション間で通信します。 エミュレートされたネットワーク アダプターは、[VM 設定] ダイアログ ボックスから削除し、合成ネットワーク アダプターに置き換える必要があります。 ゲストは、VM 統合サービスをインストールする必要があります。 |
使用可能な場合は、ルート パーティション内の物理ネットワーク アダプター ドライバーのオフロード機能を有効にします。 | ネイティブ シナリオと同様に、物理ネットワーク アダプターのオフロード機能により、VM シナリオでのネットワーク I/O の CPU 使用率が削減されます。 Hyper-V では現在、LSOv1 と TCPv4 チェックサム オフロードが使用されています。 ルート パーティション内の物理ネットワーク アダプターのドライバーでオフロード機能を有効にする必要があります。 ネットワーク アダプターのオフロード機能の詳細については、「 Windows Server 2008 R2 のパフォーマンス チューニング ガイドライン 」の「仮想化サーバーのパフォーマンス チューニング」セクションの「ネットワーク アダプターの選択」セクションを参照してください。 特定のネットワーク アダプターのドライバーでは LSOv1 が無効になりますが、既定では LSOv2 が有効になっています。 システム管理者は、デバイス マネージャーのドライバーの [プロパティ] ダイアログ ボックスを使用して、LSOv1 を明示的に有効にする必要があります。 |
複数のネットワーク アダプターを使用するようにネットワーク スイッチ トポロジを構成します。 | Hyper-V では、複数の仮想ネットワーク スイッチの作成がサポートされています。各スイッチは、必要に応じて物理ネットワーク アダプターに接続できます。 VM 内の各ネットワーク アダプターは、仮想ネットワーク スイッチに接続できます。 物理サーバーに複数のネットワーク アダプターがある場合、ネットワーク負荷の高い負荷の VM は、物理ネットワーク アダプターをより適切に使用するために、異なる仮想スイッチに接続することでメリットを得ることができます。 |
Hyper-V ホスト コンピューターに複数の物理ネットワーク カードがインストールされている場合は、各ネットワーク カードのデバイス割り込みを 1 つの論理プロセッサにバインドします。 | 特定のワークロードでは、1 つのネットワーク アダプターのデバイス割り込みを 1 つの論理プロセッサにバインドすると、Hyper-V のパフォーマンスが向上する可能性があります。 この高度なチューニングは、ネットワーク帯域幅を完全に使用する際の特定の問題に対処する場合にのみお勧めします。 システム管理者は、IntPolicy ツールを使用して、デバイスの割り込みを特定のプロセッサにバインドできます。 |
可能であれば、Hyper-V 合成ネットワーク アダプターの VLAN タグ付けを有効にします。 | Hyper-V 合成ネットワーク アダプターでは、VLAN のタグ付けがサポートされています。 物理ネットワーク アダプターが大規模な送信オフロードとチェックサム オフロードの両方に対してNDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOBカプセル化をサポートしている場合は、ネットワーク パフォーマンスが大幅に向上します。 このサポートがなければ、Hyper-V は VLAN のタグ付けを必要とするパケットにハードウェア オフロードを使用できず、ネットワーク パフォーマンスを低下させることができます。 |
Hyper-V ホスト コンピューターに高速ネットワーク アダプターをインストールし、パフォーマンスを最大限に高める構成を行います。 | Hyper-V ホスト コンピューターに 1 GB のネットワーク アダプターをインストールし、"自動ネゴシエート" を使用するのではなく、固定速度でネットワーク アダプターを構成することを検討してください。ネットワーク速度、双方向、およびフロー制御パラメーターが、接続先のスイッチの設定に対応するように設定されていることが非常に重要です。 |
ネットワーク パフォーマンスを最適化するためのベスト プラクティスに従ってください。 | ネットワークの 最適化に関する トピックでは、ネットワーク パフォーマンスを最適化するための一般的なガイダンスを提供します。 このトピックでは、Hyper-V 仮想化環境でのBizTalk Serverのパフォーマンスを最適化するための具体的な推奨事項を提供しませんが、この手法は、物理ハードウェアまたは Hyper-V 仮想化環境で実行されているかどうかにかかわらず、任意のBizTalk Server ソリューションに適用できます。 |
SQL Serverパフォーマンスの最適化
「最適化SQL Server」トピックの推奨事項に従って、BizTalk Server ソリューションのパフォーマンスSQL Server最適化します。 このトピックでは、Hyper-V 仮想化環境でのBizTalk Serverのパフォーマンスを最適化するための具体的な推奨事項を提供しませんが、この手法は、物理ハードウェアまたは Hyper-V 仮想化環境で実行されているかどうかにかかわらず、任意のBizTalk Server ソリューションに適用できます。
BizTalk Server ソリューションの最適化
BizTalk Server ソリューションのパフォーマンスを最適化するには、「最適化BizTalk Server」トピックの推奨事項に従います。 このトピックでは、Hyper-V 仮想化環境でのBizTalk Serverのパフォーマンスを最適化するための具体的な推奨事項を提供しませんが、この手法は、物理ハードウェアまたは Hyper-V 仮想化環境で実行されているかどうかにかかわらず、任意のBizTalk Server ソリューションに適用できます。