アダプターのパフォーマンスに影響する構成パラメーター

このセクションでは、BizTalk Server アダプターのパフォーマンスに影響する可能性のある構成設定について説明します。

ホスト用の CLR Hosting スレッド値

Windows スレッドは、Windows プロセスに使用できる最も基本的な実行可能単位なので、BizTalk ホストのインスタンスに関連付けられた .NET スレッド プールには十分なスレッドを割り当てて、スレッドが不足しないようにすることが重要です。 スレッドが不足した場合、要求された作業を実行できるほど十分なスレッドが存在しないので、パフォーマンスが低下することがあります。 同時に、ホストに関連付けられた .NET スレッド プールに必要以上にスレッドを割り当てないように注意する必要があります。 ホストに関連付けられた .NET スレッド プールに割り当てたスレッドが多すぎると、コンテキストの切り替えが増加する場合があるので、この場合もパフォーマンスが低下することがあります。 Windows カーネルによって実行中の特定のスレッドから別のスレッドへ切り替えられると、CPU 操作のコストが発生し、コンテキストの切り替えが行われます。

BizTalk ホストのインスタンスに関連付けられている .NET スレッド プールで使用できる Windows スレッドの数を変更するには、BizTalk Server設定ダッシュボードで適切な値を構成します。 .NET CLR 値の変更の詳細については、「 .NET CLR 設定を変更する方法」を参照してください。

HTTP アダプターまたは SOAP アダプターのパフォーマンスに影響する可能性がある ASP.NET 設定

HTTP または SOAP アダプターが通信する Web アプリケーションをホストする ASP.NET アプリケーションには、次の設定を適用できます。 これらのパラメーターは、Web アプリケーションをホストしているサーバーの web.config ファイルまたは machine.config ファイルで設定されています。 これらの設定を変更して、HTTP アダプター送信ポートまたは SOAP アダプター送信ポートによって生成される負荷に対処します。 これらの設定の詳細については、「 ASP.NET アプリケーションから Web サービスを呼び出すときのパフォーマンスの問題」を参照してください。

パラメーター 構成ファイルのセクション 既定値 推奨値
minFreeThreads

新しい要求を実行できるようにするフリー スレッドの最小数。 ASP.NET は、処理の完了に追加のスレッドが必要な要求のために、この数のフリー スレッドを維持します。
<httpRuntime> 8 88 * Web アプリケーションをホストしているサーバー上のプロセッサ数。
minFreeLocalRequestFreeThreads

新しいローカル要求を実行できるようにするために、ASP.NET で保持できるフリー スレッドの最小数。 処理中にローカル ホストに対して子要求が発行される場合に備えて、ローカル ホストから着信する要求のために、この数のスレッドが予約されます。 これにより、Web サーバーへの再帰的な再入でデッドロックが発生するのを防ぐことができます。
<httpRuntime> 4 76 * Web アプリケーションをホストしているサーバー上のプロセッサの数。
executionTimeout

ASP.NET によって自動的にシャットダウンされるまでに要求を実行できる最大秒数を示します。
<httpRuntime> 90 90
maxconnection

特定の IP アドレスに対して作成できる接続数を決定します。
<connectionManagement> 2

これを 2 の値に設定すると、HTTP 1.1 用 IETF RFC の仕様に準拠し、ユーザー シナリオに適しますが、高スループットには適していません。
12 * Web アプリケーションをホストしているサーバー上のプロセッサの数。
maxWorkerThreads

プロセスで使用される、CPU ごとのワーカー スレッドの最大数を構成します。
<processModel> 20 100 注: この値には、サーバー上のプロセッサの数が暗黙的に乗算されます。
minWorkerThreads <processModel> 1 maxWorkerThreads / 2 注: minWorkerThreads パラメーターは、既定では構成ファイルに含まれていません。 このサービスを追加する必要があります。 メモ: この値には、サーバー上のプロセッサの数が暗黙的に乗算されます。
maxIoThreads

使用される完了スレッド数を制限するために ASP.NET によって使用されます。
<processModel> 20 100

この値にはサーバー上のプロセッサの数が暗黙的に乗算されます。

Web サービスをホストしているコンピューターが 2.0 以降 ASP.NET 実行されている場合は、Machine.config ファイルの processModel セクションで autoConfig=true を設定して、コンピューターの構成に基づいて最適なパフォーマンスを実現するために、次の設定を自動的に構成できます。

  • maxWorkerThreads 属性。

  • maxIoThreads 属性。

  • httpRuntime 要素の minFreeThreads 属性。

  • httpRuntime 要素の minLocalRequestFreeThreads 属性。

  • connectionManagement> 要素 (ネットワーク設定) 要素の <maxConnection 属性。

Note

processModel セクションは、Machine.config ファイル内でのみ設定でき、サーバー上で実行されているすべての ASP.NET アプリケーションに影響します。

processModel の詳細については、「ProcessModelSection クラス」を参照してください。

TCP ウィンドウ サイズを管理するレジストリ設定

次のレジストリ設定は、接続中にバッファーに格納できる受信データ量 (バイト単位) である TCP ウィンドウ サイズを管理します。 このパラメーターに最適な値を設定していないと、アダプターのパフォーマンスに悪影響を及ぼす可能性があります。 TCP ウィンドウ サイズを増やすには、次のレジストリ設定を実装します。

警告

レジストリ エディタの使用を誤ると、オペレーティング システムの再インストールが必要になるような深刻な問題を引き起こす可能性があります。 Microsoft は、レジストリ エディタの誤使用によって生じた問題をユーザー自身が解決できるとは保証できません。 問題が発生する可能性のあることを十分に認識したうえで利用してください。 レジストリを変更する前に、常にレジストリをバックアップし、問題が発生した場合にバックアップを復元する方法がわかっていることを確認します。

既定の TCP ウィンドウ サイズを増やすには、次の手順を実行します。

  1. [ スタート] ボタンをクリックし、[ 実行] をクリックし、「 regedit.exe」と入力し、[ OK] を クリックしてレジストリ エディターを起動します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ に移動する

  2. [パラメーター] キーで、指定された値を使用して次の DWORD エントリを作成します。

    DWORD エントリ 既定値 推奨値
    TcpWindowSize

    この設定は、コンピューターの最大の TCP 受信ウィンドウ サイズを決定します。 受信ウィンドウでは、送信者が受信確認メッセージを受信せずに送信できるバイト数を指定します。 一般に、広帯域幅のネットワークでは、受信ウィンドウ サイズを大きくするとパフォーマンスが向上します。
    17520 イーサネット最大セグメント サイズ (MSS) である 1460 の倍数に設定します。最大値は 64240 です。 Windows スケーリングを使用している場合は、最大値である 65535 に設定します。

    Note

    変更内容を有効にするには、コンピューターを再起動する必要があります。

  3. レジストリ エディタを閉じます。

参照

パフォーマンスおよび容量の計画