次の方法で共有


手順 4:ロード テストのための BizTalk Server 環境の構成

このトピックでは、「手順 1: ドキュメントをBizTalk Serverに送信する単体テストを作成する」および「手順 3: 複数の単体テスト同時に実行するロード テストを作成する」で説明されているサンプル コードを実行するために必要なBizTalk Server受信場所、受信ポート、送信ポートを作成する方法について説明します。

ロード テスト用BizTalk Server環境を構成する

手順 3: 複数の単体テストを同時に実行するロード テストを作成する」で説明されているように、ロード テスト BTS_Messaging_Stepは、単体テスト BTSMessaging と BTSMessaging2 を実行するように構成されています。 さらに、これらの単体テストでは、メッセージ C:\Projects\LoadTest\BTSLoad\TestMessages\TestXmlDocument.xml のコピーを読み込み、プロジェクトのアプリケーション構成 (app.config) ファイルの次のセクションで定義されているように、 BTSMessagingEPBTSMessagingEP2 のエンドポイントに送信します。

<-- BTSMessagingEP --><endpoint address="net.tcp://BizTalk Server Computer:8123/btsloadtest" binding="netTcpBinding" bindingConfiguration="netTcpBinding" contract="System.ServiceModel.Channels.IRequestChannel" name="BTSMessagingEP" /><endpoint address="net.tcp://BizTalk Server Computer:8123/btsloadtest" binding="netTcpBinding" bindingConfiguration="netTcpBinding" contract="System.ServiceModel.Channels.IRequestChannel" name="BTSMessagingEP2" />

Note

前述のように、BizTalk Server Computer は、実際のBizTalk Server コンピューター名のプレースホルダーです。または、BizTalk Server コンピューターがネットワーク負荷分散 (NLB) クラスターのメンバーとして構成されている場合は、BizTalk Server コンピューターは、対応する NLB 仮想サーバーの名前またはアドレスのプレースホルダーです。

この例では、2 台のBizTalk Server コンピューターが使用され、BizTalk Server Message Box データベースがリモート SQL Server コンピューター上にありました。

BizTalk Server送受信ホストを作成する

BizTalk Serverドキュメントトピック「新しいホストを作成する方法」の手順に従って、送信ポートおよび送信アダプター ハンドラー用のBizTalk Server "送信" ホストを作成します。 次のプロパティを使用してホストを構成します。

プロパティ
名前 TxHost
Type In-Process
[ホストの追跡を許可する] このボックスがオフになっていることを確認します。
[信頼されている認証] このボックスがオフになっていることを確認します。
32 ビットのみ このボックスがオフになっていることを確認します。
[グループの既定のホストにする] このボックスがオフになっていることを確認します。
[Windows グループ] このホストと関連するホスト インスタンスへのアクセスを制御するために使用される Windows グループ。 既定のインプロセス ホスト用に作成されたウィンドウ グループの名前は、コンピューター名>\BizTalk アプリケーション ユーザー (単一サーバー BizTalk Server インストールの場合) またはドメイン名\BizTalk アプリケーション ユーザー (複数のサーバー BizTalk Serverインストールの場合はドメイン グループの使用が必要) です<>< 注:<コンピューター名><ドメイン名> は、グループの作成時に使用される実際のコンピューター名またはドメイン名のプレースホルダーです。

このホスト用に新しいグループを作成する場合は、「 ホスト グループ」トピックで説明されている特権が必要です。

"送信" ホストを作成するときに従った手順を繰り返して、"受信" ホストを作成します。 次のプロパティ値を使用して "Receive" ホストを構成します。

プロパティ
名前 RxHost
Type In-Process
[ホストの追跡を許可する] このボックスがオフになっていることを確認します。
[信頼されている認証] このボックスがオフになっていることを確認します。
32 ビットのみ このボックスがオフになっていることを確認します。
[グループの既定のホストにする] このボックスがオフになっていることを確認します。
[Windows グループ] このホストと関連するホスト インスタンスへのアクセスを制御するために使用される Windows グループ。 既定のインプロセス ホスト用に作成されたウィンドウ グループの名前は、コンピューター名>\BizTalk アプリケーション ユーザー (単一サーバー BizTalk Server インストールの場合) またはドメイン名\BizTalk アプリケーション ユーザー (複数のサーバー BizTalk Serverインストールの場合はドメイン グループの使用が必要) です<>< 注:<コンピューター名><ドメイン名> は、グループの作成時に使用される実際のコンピューター名またはドメイン名のプレースホルダーです。

このホスト用に新しいグループを作成する場合は、「 ホスト グループ」トピックで説明されている特権が必要です。

BizTalk Server送受信ホストのインスタンスを作成する

BizTalk Serverドキュメント トピック「ホスト インスタンスを追加する方法」の手順に従って、BizTalk Server "送信" ホストのインスタンスを作成して開始します。 BizTalk Server グループ内の各BizTalk Serverで実行する "送信" ホストのインスタンスを構成し、次のプロパティ値を使用して各ホスト インスタンスを構成します。

プロパティ
ホスト名 [ホスト名] の横にあるドロップダウン リストから [TxHost] を選択します。
サーバー [サーバー] の横にあるドロップダウン リストから、このホスト インスタンスを実行するBizTalk Serverを選択します。
ログオン 1. [ 構成 ] ボタンをクリックして、[ ログオン資格情報 ] ダイアログ ボックスを表示します。
2. [ ログオン資格情報 ] ダイアログ ボックスで、指定したプロパティに次の値を入力します。
プロパティ
ログオン: このBizTalk Server ホストに関連付けられている Windows グループのメンバーであるユーザー アカウントの名前。
パスワード: [ログオン ] ボックスに指定されたユーザー アカウントのパスワード。
3. [ OK] を クリックして、[ ログオン資格情報 ] ダイアログ ボックスを閉じます。
ホスト インスタンスの起動を無効にします。 このボックスがオフになっていることを確認します。

ホスト インスタンスを作成したら、ホスト インスタンスを右クリックし、コンテキスト メニューから [開始 ] を選択します。

"Send" ホスト インスタンスを作成するときに従った手順を繰り返して、"Receive" ホスト インスタンスを作成します。 BizTalk Server グループ内の各BizTalk Serverで実行する "Receive" ホストのインスタンスを構成し、次のプロパティ値を使用して各ホスト インスタンスを構成します。

プロパティ
ホスト名 [ホスト名] の横にあるドロップダウン リストから [RxHost] を選択します。
サーバー [サーバー] の横にあるドロップダウン リストから、このホスト インスタンスを実行するBizTalk Serverを選択します。
ログオン 1. [ 構成 ] ボタンをクリックして、[ ログオン資格情報 ] ダイアログ ボックスを表示します。
2. [ ログオン資格情報 ] ダイアログ ボックスで、指定したプロパティに次の値を入力します。
プロパティ
ログオン: このBizTalk Server ホストに関連付けられている Windows グループのメンバーであるユーザー アカウントの名前。
パスワード: [ログオン ] ボックスに指定されたユーザー アカウントのパスワード。
3. [ OK] を クリックして、[ログオン資格情報] ダイアログ ボックスを閉じます。
[ホスト インスタンスの開始を無効にする] このボックスがオフになっていることを確認します。

ホスト インスタンスを作成したら、ホスト インスタンスを右クリックし、コンテキスト メニューから [開始 ] を選択します。

BizTalk Server受信ポートを作成する

BizTalk Serverドキュメントのトピック「受信ポートを作成する方法」の手順に従って、One-Way 受信ポートを作成します。 受信ポートを作成するときは、次の表に示すように、すべてのプロパティを既定値のままにします。

プロパティ
General\Name BTSLoadTestMessaging.OneWay.ReceivePort
General\Port Type 一方向
General\Authentication 認証なし
全般\失敗したメッセージのルーティングを有効にする このボックスがオフになっていることを確認します。
General\Description 空白のままにします
受信マップ なし
追跡 すべてのボックスがオフになっていることを確認します。
受信場所 [新規] をクリックすると、[受信場所のプロパティ] ダイアログ ボックスが表示されます。このダイアログ ボックスは、次のセクション「BizTalk Server受信場所を作成する」で説明するように構成する必要があります。

BizTalk Server受信場所を作成する

BizTalk Server受信ポートの作成時に表示される [受信場所のプロパティ] ダイアログ ボックスで、指定したプロパティ値を適用します。

プロパティ
名前: BTSLoadTest.Messaging.OneWay.WCF-Customer.ReceiveLocation
受信ハンドラー: RxHost
[受信パイプライン]: PassThruReceive
説明: 空白のままにします
型: ドロップダウン リストから [WCF-Custom ] を選択し、[ 構成 ] ボタンをクリックすると、[ WCF-Custom Transport Properties]\(WCF-Custom トランスポートのプロパティ \) ダイアログ ボックスが表示されます。このダイアログ ボックスは、次のセクション「 WCF-Custom 受信トランスポートを構成する」で説明するように構成する必要があります。

WCF-Custom 受信トランスポートを構成する

BizTalk Server受信場所の作成時に表示される [WCF-Custom トランスポート プロパティ] ダイアログ ボックスで、次の表に示すように、すべてのプロパティを既定値のままにします。

プロパティ
General\Address (URI) net.tcp://localhost:8123/btsloadtest
Binding\Binding Type Nettcpbinding
Binding\NetTcpBindingElement\listenBacklog 400
Binding\NetTcpBindingElement\maxConnections 400
Binding\Security\NetTcpSecurityElement\mode なし
Behavior\ServiceBehavior\serviceThrottling\ServiceThrottlingElement 注: serviceThrottling 動作を動作の一覧に追加するには、ServiceBehavior を右クリックし、[ 拡張機能の追加] をクリックし、動作拡張機能の一覧から [serviceThrottling ] を選択し、[ OK] をクリックします ServiceThrottlingElement プロパティを次の値に設定します。

- maxConcurrentCalls 400
- maxConcurrentInstances 400
- maxConcurrentSessions 400
Behavior\ServiceBehavior\serviceDebug\ServiceDebugElement 注: serviceDebug 動作を動作の一覧に追加するには、[ServiceBehavior] を右クリックし、[ 拡張機能の追加] をクリックし、動作拡張機能の一覧から [serviceDebug ] を選択し、[ OK] をクリックします ServiceDebugElement プロパティの一覧は、次のプロパティを除き、既定値 (空) のままにします。これは True の値に変更する必要があります。

- httpHelpPageEnabled True
- httpsHelpPageEnabled True
- includeExceptionDetailInFaults True

[ OK] を クリックして [WCF-Custom トランスポートのプロパティ] ダイアログ ボックスを閉じ、もう一度 [OK] を クリックして [受信場所のプロパティ] ダイアログ ボックスを閉じます。

BizTalk Server送信ポートを作成する

BizTalk Serverドキュメントのトピック「送信ポートを作成する方法」の手順に従って、静的一方向送信ポートを作成します。 送信ポートを作成する場合は、次の表に示すように、すべてのプロパティを既定値のままにします。

プロパティ
General\Name BTSLoadTest.Messaging.Send.WCF-Custom
General\Send ハンドラー TxHost
General\Send パイプライン PassThruTransmit
Filters\Name BTS.ReceivePortName
Filters\Operator ==
Filters\Value BTSLoadTest.Messaging.OneWay.ReceivePort
フィルター\グループ化 注: これらのプロパティが正しい値で構成されている場合は、[送信ポートのプロパティ] ダイアログ ボックスの [フィルター] ページの下部に表示されるようにBTS.ReceivePortName == BTSLoadTest.Messaging.OneWay.ReceivePortフィルターを表示する必要があります。 このフィルターを適用した結果、この送信ポートは、BTSLoadTest.Messaging.OneWay.ReceivePort という名前の受信ポートを介してBizTalk Serverが受信したすべてのメッセージをサブスクライブします。
追跡 すべてのボックスがオフになっていることを確認します。
General\Type ドロップダウン リストから [WCF-Custom ] を選択し、[ 構成 ] ボタンをクリックすると、[ WCF-Custom Transport Properties]\(WCF カスタム トランスポートのプロパティ \) ダイアログ ボックスが表示されます。このダイアログ ボックスは、次のセクション「 トランスポートの送信 WCF-Custom を構成する」で説明するように構成する必要があります。

WCF-Custom 送信トランスポートを構成する

BizTalk Server送信ポートの作成時に表示される [WCF-Custom トランスポート プロパティ] ダイアログ ボックスで、次の表に示すように、すべてのプロパティを既定値のままにします。

プロパティ
General\Address (URI) net.tcp://<Computer Name>:2001/TCP1 Important:<Computer Name> は、WCF 経由で送信されるメッセージを使用するように設計された、IndigoService.exe をホストするために使用される実際のコンピューター名のプレースホルダーです。 IndigoService.exe に必要なリソースが非常に少ないため、多くの場合、BizTalk Server グループ データベースに使用されるSQL Server コンピューターで IndigoService.exe を実行することは完全に許容されます。
Binding\Binding Type customBinding

ほとんどの WCF-Custom バインドの種類と同様に、 customBinding Binding 型ではいくつかのプロパティが公開されます。これは、次の値に設定する必要があります。

  1. [バインド] セクションには、関連付けられた Configuration セクションを含む CustomBindingElement プロパティがあります。 CustomBindingElement プロパティの [構成] セクションのすべての値は既定値のままにします。

  2. に、[CustomBindingElement ] で textMessageEncoding を右クリックし、[ 拡張機能の削除 (Del)] を選択します。 同様に、[ httpTransport ] を右クリックし、[ 拡張機能の削除 (Del)] を選択します。

  3. [ CustomBindingElement ] を右クリックし、[ 拡張機能の追加] [Ins ] の順に選択して、[ バインド要素拡張機能の選択 ] ダイアログ ボックスを表示します。

  4. [binaryMessageEncoding] を選択し、[OK] をクリックして binaryMessageEncoding 要素拡張機能を追加します。 この手順を繰り返して、[ バインド要素拡張機能の選択 ] ダイアログ ボックスを表示し、 tcpTransport 要素拡張機能が表示されるまで使用可能な要素拡張機能の一覧を下にスクロールし、[ tcpTransport ] を選択して [OK] をクリックします。

  5. [ CustomBindingElement ] で tcpTransport 要素を選択し、 tcpTransport の [構成] セクションで、次の表に示すように、すべてのプロパティを既定値のままにします。

    プロパティ
    connectionBufferSize 2097152
    maxBufferSize 2097152
    maxPendingAccepts 400
    maxPendingConnections 400
    listenBacklog 400
    maxBufferPoolSize 2097152
    maxReceivedMessageSize 2097152
  6. tcpTransport 要素の下で ConnectionPoolSettings 要素を選択し、maxOutboundConnectionsPerEndpoint プロパティを除くすべてのプロパティを既定値のままにします。値は 400 に変更する必要があります。

  7. [ OK] を クリックして [トランスポートのプロパティの WCF-Custom] ダイアログ ボックスを閉じ、もう一度 [OK] を クリックして[BTSLoadTest.Messaging.Send.WCF-Custom – 送信ポートのプロパティ] ダイアログ ボックスを閉じます。

BizTalk Server送信ポートによって送信されたメッセージを使用するようにコンピューターを構成する

前述のように、IndigoService.exe は WCF 経由で送信されたメッセージを使用するように設計されています。 これには次の 4 つのファイルが含まれており、IndigoService.exe 実行するコンピューター上に存在する必要があります。

  1. \IndigoService\bin\Release\IndigoService.exe

  2. \IndigoService\bin\Release\IndigoService.exe.config

  3. \IndigoService\bin\Release\Response.xml

  4. \IndigoService\bin\Release\StartIndigoService.bat

    次に、StartIndigoService.bat をダブルクリックして IndigoService.exe を開始します。 IndigoService.exe は、IndigoService.exe.config ファイルで指定されたエンドポイントに送信されたメッセージを使用します。

    <endpoint address="net.tcp://localhost:2001/TCP1" binding="netTcpBinding" bindingConfiguration="Binding1" name="endpoint1" contract="IndigoService.IServiceTwoWaysVoidNonTransactional" />

    これが、送信ポート アドレスが net.tcp://<Computer Name>:2001/TCP1 のアドレス (URI) で構成されている理由です。

    IndigoService.exe はリソースをほとんど必要としないため、多くの場合、BizTalk Server データベースに使用されるSQL Server コンピューターで IndigoService.exe を実行することは完全に許容されます。

BizTalk Server グループの追跡と調整を無効にする

システムの絶対的な最大持続可能なスループットを判断するには、ロード テストを開始する前に、メッセージの追跡と調整の両方を無効にする必要があります。 これは、次の手順に従って、BizTalk Server管理コンソールを使用して行うことができます。

  1. BizTalk Server管理コンソールを起動します。 [スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[BizTalk Server 2010] をポイントし、[BizTalk Server管理] をクリックします。

  2. [BizTalk Server管理] で、BizTalk グループが一覧に表示されている場合、または一覧にない場合は、[BizTalk Server管理] を右クリックし、[既存のグループに接続] を選択し、BizTalk グループのBizTalk Server管理データベースを格納するSQL Server名を横に入力します。SQL Server名: の横に BizTalk グループの管理データベース名の名前を入力し、 [OK] をクリックします。

  3. BizTalk グループ ノードを右クリックし、[ 設定] を選択して BizTalk 設定ダッシュボードを表示します。

  4. BizTalk 設定ダッシュボードの左側のウィンドウで [ ホスト ] をクリックして選択します。

  5. [ ホスト ] の横にあるドロップダウン リストをクリックして、パフォーマンス テスト中に使用するホストのいずれかを選択します。

  6. 次の表に示すように、プロパティは既定値のままにします。

    プロパティ
    General\Move tracking data to DTA DB オンになっている場合は、このチェック ボックスをオフにします。
    一般\32 ビットのみ オンになっている場合は、このチェック ボックスをオフにします。
    General\Polling Intervals\Messaging 20000000 の値に設定します
    General\Polling Intervals\Orchestrations 20000000 の値に設定します
    リソースベースの調整\インプロセス メッセージ 10000 の値に設定します
    リソースベースの調整\内部メッセージ キュー サイズ 10000 の値に設定します
    DB のリソースベースの調整\メッセージ数 値 0 に設定します
    リソースベースの調整\メモリ使用量\プロセス仮想 値 0 に設定します
    レートベースの調整\Publishing\Throttling のオーバーライド [スロットルしない] に設定する
    レートベースの調整\配信\調整のオーバーライド [スロットルしない] に設定する
  7. パフォーマンス テストの実行中に使用されるすべてのホストについて、手順 6 で説明されているプロセスを繰り返します。

  8. クリックして、BizTalk 設定ダッシュボードの左側のウィンドウで [ ホスト インスタンス ] を選択します。

  9. [ ホスト インスタンス] の横にあるドロップダウン リストをクリックして、パフォーマンス テストに使用するホスト インスタンスのいずれかを選択します。

  10. .NET CLR の最大ワーカー スレッド数を 100 に変更し、.NET CLR 最小ワーカー スレッド25 の値に変更する以外は、プロパティ値を既定の設定のままにします。

  11. パフォーマンス テストの実行中に使用されるすべてのホスト インスタンスについて、手順 10 で説明されているプロセスを繰り返します。

    追跡と調整を無効にしても、運用シナリオで何を行うべきかを表すものではありませんが、これらの操作はパフォーマンスの観点から非常にコストがかかるため、BizTalk Server環境の真の持続可能なスループット (MST) を見つけるために無効にするのが理にかなっています。 これにより、テスト担当者は、環境に適用されたパフォーマンス調整の影響を明確に確認できます。 確かに、追跡を無効にしてはならないという引数を指定できます。最初から、BizTalk Serverアプリケーションで追跡が必要になることがわかっている場合は、追跡を有効にする必要があります。 つまり、 パフォーマンス テストの目的で調整を無効にするために、すべての作業を行う必要があります。 調整は、運用環境での過剰な負荷により、BizTalk Serverが "フェールオーバー" するのを防ぐのに非常に役立ちます。 ただし、パフォーマンス テスト中に調整を有効にしたくないのは、パフォーマンスの観点からコストがかかるためです。また、ロード テスト中に調整が開始されると、BizTalk Server アプリケーションが実際に達成できるパフォーマンスのレベルを判断するのが非常に困難になるためです。 次のトピックでは、ステップ ロード テストを実行して MST を超えてBizTalk Server環境をプッシュし、一定のロード テストを使用して実際の MST にスケールバックする方法について説明します。 調整が有効になっている場合、BizTalk 環境を MST を超えてプッシュすることはほぼ不可能になり、真の MST が何であるかを検出できるようになります。