ネットワークの最適化
BizTalk Server コンピューターがSQL Server コンピューターとは別のBizTalk Server環境では、BizTalk Serverによって処理されるすべてのメッセージがネットワーク経由で通信する必要があります。 この通信には、BizTalk Server コンピューターと BizTalk メッセージ ボックス データベース、BizTalk 管理データベース、BAM データベース、およびその他のデータベース間のかなりのトラフィックが含まれます。 負荷の高いシナリオでは、この通信によってネットワーク トラフィックが大量に発生し、特にネットワーク設定が最適化されていない場合、十分なネットワーク インターフェイス カードがインストールされていない場合、またはネットワーク帯域幅が不足している場合にボトルネックになる可能性があります。
このトピックでは、同じ Hyper-V ホスト コンピューター上で実行されている Hyper-V 仮想マシン間のネットワーク パフォーマンスを向上させる手順と、ネットワーク パフォーマンスを向上するための一般的な推奨事項について説明します。
Note
ネットワーク IO がボトルネックであることを示す最も一般的なインジケーターは、カウンター "SQL Server:Wait Statistics\Network IO waits" です。 このカウンターの平均待機時間の値が 1 つ以上のSQL Server コンピューターで 0 より大きい場合、ネットワーク IO はボトルネックになります。
Hyper-V でのBizTalk Serverのネットワーク パフォーマンスの向上
プライベート Virtual Networkを使用するように、同じ Hyper-V ホスト コンピューターで実行されている Hyper-V Virtual Machinesを構成する
同じ Hyper-V ホスト コンピューターで実行されている Hyper-V 仮想マシン間のネットワーク パフォーマンスを向上させるには、プライベート仮想ネットワークを作成し、プライベート仮想ネットワークを介して仮想マシン間のネットワーク トラフィックをルーティングします。
プライベート Virtual Networkを作成する
[ スタート] をクリックし、[ すべてのプログラム] をクリックします。 [ 管理ツール] をクリックし、[ Hyper-V マネージャー] をクリックします。
Hyper-V マネージャーの左側のウィンドウで、[ Hyper-V マネージャー] を右クリックし、[ サーバーへの接続] をクリックします。
[ コンピューターの選択 ] ダイアログ ボックスで、Hyper-V ホスト コンピューターの名前を入力し、[OK] をクリック します。
Hyper-V マネージャーの左側のウィンドウで、Hyper-V ホストを右クリックし、[Virtual Network マネージャー] をクリックします。
Virtual Network マネージャーの [作成する仮想ネットワークの種類] で、[プライベート] をクリックし、[追加] をクリックします。
新しい仮想ネットワークの名前を入力し、[OK] をクリック します。 仮想ネットワークは、この Hyper-V ホストで実行されている各 Hyper-V 仮想マシンで使用できるようになりました。
Hyper-V ホストで実行されている Hyper-V Virtual Machinesにプライベート Virtual Networkを追加する
[ スタート] をクリックし、[ すべてのプログラム] をクリックします。 [ 管理ツール] をクリックし、[ Hyper-V マネージャー] をクリックします。
Hyper-V マネージャーの左側のウィンドウで、[ Hyper-V マネージャー] を右クリックし、[ サーバーへの接続] をクリックします。
[ コンピューターの選択 ] ダイアログ ボックスで、Hyper-V ホスト コンピューターの名前を入力し、[OK] をクリック します。
プライベート仮想ネットワークを追加する実行中の仮想マシンをシャットダウンするには、仮想マシンを右クリックし、[ シャットダウン] をクリックします。
仮想マシンをシャットダウンした後、仮想マシンを右クリックし、[ 設定 ] をクリックして仮想マシンの設定を変更します。
[machine_name>の<設定] ダイアログ ボックスの [ハードウェアの追加] で、[ネットワーク アダプター] をクリックして選択し、[追加] をクリックします。
[ ネットワーク アダプター の構成] ページの [ ネットワーク:] で、前に作成したプライベート仮想ネットワークを選択し、[ OK] をクリックします。 これで、プライベート仮想ネットワークを Hyper-V 仮想マシンで使用できるようになり、次回仮想マシンが起動されるときにアクセスできるようになります。
プライベート仮想ネットワーク経由でネットワーク トラフィックをルーティングする仮想マシンごとに、上記の手順を繰り返します。
プライベート仮想ネットワークを追加した仮想マシンを起動します。 各仮想マシンを右クリックし、[ 開始] をクリックします。
プライベート Virtual Networkを使用するように各仮想マシンを構成する
各仮想マシンが開始されると、プライベート仮想ネットワークにネットワーク接続として仮想マシンからアクセスできるようになります。 TCP/IPv4 を使用するように各仮想マシンでネットワーク接続を構成し、TCP/IPv4 プロトコルの設定を指定します。
[ネットワーク接続のプロパティ] ページにアクセスし、[ インターネット プロトコル バージョン 4(TCP/IPv4)]、[ プロパティ] の順にクリックします。
[次の IP アドレスを使う] をクリックします。
RFC 1918、プライベートIP アドレスのアドレス割り当てで識別されるプライベート IP アドレスの範囲から IP アドレス フィールドの値を入力します。
指定した IP アドレスをメモしておきます。後で HOSTS ファイル エントリで、この値をこのコンピューターの NetBIOS 名に関連付ける必要があります。
[サブネット マスク] フィールドに適切な値を入力します。
Note
Windows では、[ サブネット マスク ] フィールドに 、IP アドレス フィールドに入力した値に基づいて適切な値を設定する必要があります。
[既定のゲートウェイ] フィールドは空白のままにして、[OK] をクリックし、[閉じる] をクリックします。
各仮想マシンを一意のプライベート IP アドレスで構成した後、各仮想マシンの HOSTS ファイルを、Hyper-V ホスト コンピューターで実行されている他の仮想マシンの IP アドレスと NetBIOS 名で更新します。 更新された HOSTS ファイルは、各仮想マシンの %systemroot%\drivers\etc\ フォルダーに保存する必要があります。
Note
既定では、Windows は最初にローカル HOSTS ファイルをチェックして NetBIOS 名を解決するため、各仮想マシン上の HOSTS ファイルを他の仮想マシンの一意のプライベート IP アドレスで更新することで、これらのマシン間のネットワーク トラフィックがプライベート仮想ネットワーク経由でルーティングされるようになります。
仮想マシン ネットワーク カードの TCP オフロードを無効にする
各仮想マシンでネットワーク カードの TCP オフロードを無効にするには、「 レジストリ値を使用してタスク オフロードを有効または無効にする」で説明されているように、 (NDIS 5.1) のレジストリを編集します。
重要
レジストリ エディターを使用する場合は、細心の注意を払い、ご自身の責任で行ってください。 レジストリ エディターを誤って使用した結果として発生する問題では、オペレーティング システムの再インストールが必要になる場合があります。 レジストリをバックアップ、復元、変更する方法の詳細については、「 上級ユーザー向けの Windows レジストリ情報」を参照してください。
ネットワーク パフォーマンスを向上させるための一般的なガイドライン
ネットワーク パフォーマンスを向上させるには、次の推奨事項を使用できます。
BizTalk Server環境のコンピューターにネットワーク カードを追加する
ハード ドライブを追加するとディスクのパフォーマンスが向上するのと同様に、ネットワーク カードを追加するとネットワーク パフォーマンスが向上します。 BizTalk Server環境内のコンピューター上のネットワーク カードが飽和していて、カードがボトルネックである場合は、パフォーマンスを向上させるために 1 つ以上のネットワーク カードを追加することを検討してください。
可能な場合は、ハブをスイッチに置き換えます
スイッチには、送信元と宛先の間でトラフィックを直接ルーティングするロジックが含まれています。一方、ハブではブロードキャスト モデルを使用してトラフィックをルーティングします。 そのため、スイッチの効率が向上し、パフォーマンスが向上します。
不要なネットワーク プロトコルを削除する
Windows Server コンピューターには、実際に必要な数よりも多くのネットワーク サービスとプロトコルがインストールされている場合があります。 ネットワーク クライアント、サービス、またはプロトコルが追加されるたびに、システム リソースに追加のオーバーヘッドが発生します。
さらに、インストールされている各プロトコルによってネットワーク トラフィックが生成されます。 不要なネットワーク クライアント、サービス、プロトコルを削除することで、システム リソースを他のプロセスで使用できるようになり、過剰なネットワーク トラフィックが回避され、ネゴシエートする必要があるネットワーク バインドの数が最小限に減ります。
現在インストールされているネットワーク クライアント、プロトコル、サービスを確認するには、次の手順に従います。
[スタート] ボタンをクリックし、[設定] をポイントして、[コントロール パネル] をクリックします。
[ ネットワーク接続 ] をダブルクリックして、コンピューター上のネットワーク接続を表示します。
[ ローカル エリア接続 ] (またはネットワーク接続のエントリ) を右クリックし、[ プロパティ ] をクリックして、ネットワーク接続のプロパティ ダイアログ ボックスを表示します。
不要な項目を削除するには、不要な項目を選択し、[ アンインストール] をクリックします。 項目を無効にするには、項目に関連付けられているチェック ボックスをオフにします。
接続の項目をアンインストールした場合の影響がわからない場合は、アイテムをアンインストールするのではなく無効にします。 項目を無効にすると、システムで実際に必要なサービス、プロトコル、クライアントを決定できます。 アイテムを無効にしてもサーバーに悪影響がないと判断された場合は、アイテムをアンインストールできます。
多くの場合、標準の TCP/IP ベースのネットワークでの操作には、次の 3 つのコンポーネントのみが必要です。
Microsoft ネットワーク用クライアント
Microsoft ネットワーク用ファイルとプリンター共有
インターネット プロトコル (TCP/IP)
BizTalk Server環境内のすべてのコンピューターのネットワーク アダプター ドライバーは、パフォーマンスを調整する必要があります
重要
ネットワーク アダプター ドライバーにチューニングを適用する前に、常に環境内のネットワーク カードの最新のネットワーク アダプター デバイス ドライバーをインストールします。
ネットワーク アダプターのデバイス ドライバーを調整して、受信と送信の両方でパケット バッファリングに使用できるメモリの量を最大化します。 また、バッファー数 (特に送信バッファーと合体バッファー) も最大化します。 これらのパラメーターの既定値と、パラメーターが指定されているかどうかは、製造元とドライバーのバージョンによって異なります。 目標は、ネットワーク アダプター ハードウェアによって実行される作業を最大化し、ネットワーク操作で可能な限り最大のバッファー領域を使用して、ネットワーク トラフィックのバーストと関連する輻輳を軽減できるようにすることです。
Note
ネットワーク アダプター ドライバーを調整する手順は、製造元によって異なります。
Windows Server 2008 R2 のネットワーク アダプターの設定にアクセスするには、次の手順に従います。
[スタート]、[、] の順にクリックし、[コントロール パネル] をクリックします。
[ ネットワークとインターネット] をクリックし、[ ネットワークと共有センター] をクリックします。
[ アダプター設定の変更] をクリックし、[ ローカル エリア接続 ] (またはネットワーク接続の名前) を右クリックし、[ プロパティ] をクリックします。
[ 全般 ] タブで、[ 構成] をクリックします。
[ 詳細設定 ] タブをクリックして、ネットワーク アダプター用に構成できるプロパティにアクセスします。
BizTalk Server環境のネットワーク アダプターごとに、次のプロパティを構成する必要があります。
Note
これらの設定は、集約、負荷分散、またはフォールト トレランス用に構成された、チーム化されたネットワーク アダプターのセット内の個々のネットワーク アダプターを含め、各物理ネットワーク アダプターに適用します。 一部のチーミング ソフトウェアでは、これらの設定をチームにも適用する必要がある場合があります。 一部のネットワーク アダプターは自己チューニングであり、パラメーターを手動で構成するオプションを提供しない場合があることに注意してください。
電源オプション – 電源管理機能がネットワーク アダプターをオフにして電力を節約できないように、ネットワーク アダプター ドライバーを構成します。 この機能はクライアント コンピューターに便利ですが、BizTalk ServerまたはSQL Server コンピューターで使用されることはほとんどありません。
固定速度/二重 (AUTO を使用しない) - ネットワーク速度、二重、およびフロー制御パラメーターが、接続先のスイッチの設定に対応するように設定されていることが非常に重要です。 これにより、接続が一時的に切断される可能性がある定期的な "自動同期" の発生が軽減されます。
Max Coalesce Buffers - マップ レジスタは、バス マスタリングをサポートするネットワーク アダプターの物理アドレスを仮想アドレスに変換するために使用されるシステム リソースです。 結合バッファーは、ドライバーがマップ レジスタを使い切った場合に、ネットワーク ドライバーで使用できます。 この値を可能な限り高く設定して、パフォーマンスを最大限に高めます。 物理メモリが限られているサーバーでは、結合バッファーがシステム メモリを消費すると、悪影響を及ぼす可能性があります。 ただし、ほとんどのシステムでは、使用可能なメモリを大幅に減らすことなく、最大設定を適用できます。
最大送信/送信記述子と送信バッファー - この設定は、ドライバーがネットワーク インターフェイスで使用するために割り当てる送信制御バッファーの数を指定します。 これは、ドライバーが "送信" キューに含めることができる未処理のパケットの数を直接反映します。 この値を可能な限り高く設定して、パフォーマンスを最大限に高めます。 物理メモリが制限されているサーバーでは、送信バッファーがシステム メモリを消費する際に悪影響を及ぼす可能性があります。 ただし、ほとんどのシステムでは、使用可能なメモリを大幅に減らすことなく、最大設定を適用できます。
最大受信バッファー 数 - この設定では、プロトコル メモリにデータをコピーするときにネットワーク インターフェイス ドライバーによって使用されるメモリ バッファーの量を指定します。 通常、既定では比較的低い値に設定されます。 この値を可能な限り高く設定して、パフォーマンスを最大限に高めます。 物理メモリが限られているサーバーでは、受信バッファーがシステム メモリを消費すると、悪影響を及ぼす可能性があります。 ただし、ほとんどのシステムでは、使用可能なメモリを大幅に減らすことなく、最大設定を適用できます。
すべてのオフロード オプション ON - ネットワーク インターフェイス オフロード機能を有効にすると、ほとんどすべての場合のパフォーマンスが向上します。 一部のネットワーク アダプターでは、送受信トラフィックのオフロードを有効または無効にするための個別のパラメーターが用意されています。 CPU からネットワーク アダプターにタスクをオフロードすると、サーバーでの CPU 使用率が低下し、システムの全体的なパフォーマンスが向上します。 Microsoft TCP/IP トランスポートは、次の 1 つ以上のタスクを、適切な機能を備えたネットワーク アダプターにオフロードできます。
チェックサム タスク - TCP/IP トランスポートは、ネットワーク アダプターへの送受信の IP チェックサムと TCP チェックサムの計算と検証をオフロードできます。ネットワーク アダプター ドライバーがこの機能を提供する場合は、このオプションを有効にします。
IP セキュリティ タスク - TCP/IP トランスポートは、認証ヘッダー (AH) の暗号化されたチェックサムの計算と検証をオフロードし、セキュリティ ペイロード (ESP) をネットワーク アダプターにカプセル化できます。 TCP/IP トランスポートは、ESP ペイロードの暗号化と暗号化解除をネットワーク アダプターにオフロードすることもできます。 ネットワーク アダプター ドライバーがこの機能を提供する場合は、これらのオプションを有効にします。
大きな TCP パケットのセグメント化 - TCP/IP トランスポートでは、大規模な送信オフロード (LSO) がサポートされます。 LSO を使用すると、TCP/IP トランスポートは大きな TCP パケットのセグメント化をオフロードできます。
スタック オフロード – ネットワーク スタック全体を、適切な機能を備えたネットワーク アダプターにオフロードできます。 ネットワーク アダプター ドライバーがこの機能を提供する場合は、このオプションを有効にします。
Wake On LAN disabled (使用されていない場合) – ウェイクオン LAN 機能を無効にするようにネットワーク アダプター ドライバーを構成します。 この機能は、クライアント コンピューターに役立つ場合がありますが、BizTalk ServerまたはSQL Serverコンピューターで使用されることはほとんどありません。
パフォーマンスのためにネットワーク アダプターをチューニングする方法の詳細については、「BizTalk Server データベースの最適化」ホワイトペーパーの「ネットワーク デバイスの設定」セクションを参照してください。