このトピックでは、エンド ポイント マネージャー (EPM) のスレッド プール サイズを設定する方法について説明します。
[ホストのプロパティ] ダイアログ ボックスの [詳細設定] タブには、CPU あたりのメッセージング エンジン スレッドの最大数というプロパティがあります。 このダイアログ ボックスにアクセスする方法については、「 新しいホストを作成する方法」を参照してください。 このプロパティを使用して、メッセージング エンジンがメッセージの処理に使用するプロセス スレッドのプールのサイズを制御します。 このプロパティの既定値は 20 です。つまり、メッセージング エンジンはサーバー上の CPU ごとに 20 個以下のスレッドを使用します。
メッセージのバッチはプール内の各スレッドによって処理されるため、 CPU あたりのメッセージング エンジン スレッドの最大数の値を 調整すると、サーバー上のリソース使用率のダイナミクスを変更することでパフォーマンスに影響する可能性があります。 スレッドプールのしくみの詳細については、「 BizTalk メッセージング エンジンの使用」を参照してください。
テストでは、CPU または SQL Server が過剰に使用されている場合、 CPU あたりのメッセージング エンジン スレッドの最大数の値を 小さくすると、スループットが大幅に向上する可能性があることが示されています。 たとえば、MessageBox データベース サーバーの CPU 使用率が 90% を超える場合や、SQL ロックの待機時間が 500 ~ 1000 ミリ秒を超える場合、プール内のスレッドの数を減らすと、SQL Server への接続全体の数が減り、メッセージ処理の効率が向上します。 場合によっては、スレッドプールの最大サイズを2という低い値に設定することで、スループットの向上を測定可能な形で得られることがあります。
勧告
BizTalk Server のインストールを最適化する場合は、[ CPU あたりのメッセージング エンジン スレッドの最大数] に設定した値を微調整することをお勧めします。 MessageBox データベース サーバーの使用率を下げようとするときは、このプロパティの値を減らすことを検討してください。
BizTalk サーバーまたは MessageBox データベース サーバーの使用率が高くなく、追加の負荷を適用してもスループットが向上しない場合は、使用率の低いリソースを利用するために、 CPU あたりのメッセージング エンジン スレッドの最大数 の値を増やしてみてください。