ホスト制限とは何ですか?
BizTalk サーバーで発生する処理の大半は、BizTalk Server ホスト インスタンスという論理エンティティ内で発生します。これは、BizTalk サーバーで Windows サービスまたは分離ホスト プロセスとして動作するプロセスです。 ホスト インスタンス プロセスによるリソースの使用を管理するために、BizTalk Server では、ホスト インスタンス全体のメッセージのフローおよび処理を管理する、調整可能な制限メカニズムが使用されます。
制限メカニズムは、ホスト インスタンスの作業負荷がホスト インスタンスまたはダウンストリーム ホスト インスタンスの容量を超えないように、作業負荷を軽減します。 また、制限メカニズムによって、ホスト インスタンス プロセスまたは他のシステム プロセスのパフォーマンス全体を低下させるリソース競合という状況を回避することもできます。 リソース競合は、1 つ以上のプロセスが制限されたリソースを消費して、対象プロセスまたは他のプロセスに悪影響を与える場合に発生します。 たとえば、メモリまたはスレッドが過度に消費されると、メモリ割り当てが失敗したり、スレッド コンテキストの切り替えが多くなり、プロセスのパフォーマンスが低下する場合があります。 このようなリソース競合は、BizTalk Server のパフォーマンス全体を低下させます。
ホスト制限メカニズムは、利用可能なリソースが十分に利用されていない状況も検出します。 利用可能なリソースが十分に利用されていないと、追加のメッセージをホスト インスタンスによって処理できるようにします。 ホスト制限メカニズムは、利用可能なリソースが制限を超えて使用されているか、または十分に活用されていないかを継続的に監視し、検出した状況に応じて、ホスト インスタンスを使用してメッセージ フローを調整します。
BizTalk Server ホスト制限メカニズムにより、システムは継続的に最適なレベルで動作できます。
ホスト制限構成パラメーターは、BizTalk Server 管理コンソールでホストごとに設定されます。 ホストに設定された制限構成パラメーターは、対応するホスト インスタンスに格納されたすべての受信ハンドラー、送信ハンドラー、またはオーケストレーションに適用されます。 特定の受信ハンドラー、送信ハンドラー、またはオーケストレーションにだけ適用する制限パラメーターを設定する場合は、次の手順を実行します。
新しいホストを作成し、制限パラメーターを適切に設定します。
受信ハンドラー、送信ハンドラー、またはオーケストレーションを、このホストで動作するように構成します。
BizTalk サーバーで動作する、このホストのインスタンスを 1 つ以上作成します。
受信ホスト制限
受信ホストの調整 (BizTalk Serverでのメッセージ発行調整とも呼ばれます) は、メッセージを MessageBox データベースに発行する受信アダプターまたはオーケストレーションを含むホスト インスタンスに適用されます。 受信ホスト制限は、次の条件で引き起こされます。
メモリの量、スレッドの数、またはホスト インスタンスによって使用されるデータベース接続の数が、BizTalk グループで使用可能な [設定ダッシュボード] で定義されている調整しきい値を超え、[設定] を選択します。 これらの値は、 BizTalk:Message Agent パフォーマンス オブジェクト カテゴリで使用できるパフォーマンス モニター カウンターで測定できます。
ダウンストリーム ホストが、公開されたメッセージを処理できない。 これにより、DB パラメーターの メッセージ数 の値が増加します。 DB 値のメッセージ数によって調整条件がトリガーされるしきい値は、設定ダッシュボードの [ホスト] オプションで構成できます。 データベース内のメッセージ数は、BizTalk:Message Agent パフォーマンス オブジェクト カテゴリの [データベース サイズ] カウンターで測定できます。
ホスト インスタンスのメッセージ発行受信レートが、指定した Rate overdrive 係数の値であるメッセージ発行送信率\* を超えています。 Rate overdrive factor の値は、設定ダッシュボード、ホスト、レートベースの調整で定義されます。 受信および送信レートを発行するメッセージは、 BizTalk:Message Agent パフォーマンス オブジェクト カテゴリの対応するパフォーマンス モニター カウンターで測定できます。
既定の調整動作が変更されました。 BizTalk Server パフォーマンス チューニングに設定ダッシュボードを使用すると、調整の動作に影響を与えるさまざまな値について説明します。
制限の条件の重大度レベルに応じて、次のアクションが実行されます。
ホスト インスタンスの処理ロジックで徐々に遅延が増やされる。 遅延が実施されるのは、エンド ポイント マネージャー (EPM) スレッドがトランスポート アダプターからメッセージのバッチを受け取った場合や、公開されるメッセージのバッチを MessageBox データベースに送信した場合です。 処理の遅延時間および遅延時間が長くなる割合は、両方とも、制限の条件の重大度レベルによって変わります。
エンド ポイント マネージャー (EPM) に対して利用可能なスレッドの数が制限される。 EPM は、アダプターからメッセージのバッチを受け取り、メッセージを MessageBox データベースに公開します。 既定では、EPM は CPU ごとに 20 個のスレッドを使用するように構成されています。 ホストの制限メカニズムは、受信処理のストレス条件を検出すると、ストレス条件がなくなるまで、EPM に対して利用可能なスレッドの数を一時的に削減します。 EPM スレッドを受信メッセージ バッチに利用できるようになるまで、EPM はトランスポート アダプターからのメッセージを処理したり、メッセージ バッチを MessageBox データベースに配信したりできません。
メモリやその他のリソースの使用が可能な限り削減される。 BizTalk Serverは、実行中のスケジュールを退避し、メモリ キャッシュ サイズを縮小し、メモリを集中的に消費するスレッドの使用を制限することで、メモリ使用量を制限する命令を他のサービス クラスに送信できます。
アダプターから MessageBox への受信メッセージ フロー
送信ホスト制限
送信ホスト調整 (BizTalk Serverでのメッセージ処理調整とも呼ばれます) は、オーケストレーションを含むホスト インスタンス、またはメッセージ ボックスに発行されたメッセージを受信して配信または処理するアダプターを送信するホスト インスタンスに適用されます。 送信ホスト制限は、次の条件で引き起こされます。
メモリの量、スレッドの数、またはホスト インスタンスによって使用されるデータベース接続の数が、設定ダッシュボードの [リソース ベースの調整] で定義されている調整しきい値を超えています。 これらの値は、 BizTalk:Message Agent パフォーマンス オブジェクト カテゴリで使用できるパフォーマンス モニター カウンターで測定できます。
ホスト インスタンスのメッセージ配信受信速度が、指定した [レート オーバードライブ係数] 値の [メッセージ配信の送信レート] * を超えています。 Rate overdrive factor の値は、[設定] ダッシュボードの [レートベースの調整] タブで定義されます。 メッセージ配信の受信と送信のレートは、 BizTalk:Message Agent パフォーマンス オブジェクト カテゴリの対応するパフォーマンス モニター カウンターで測定できます。
ホスト インスタンスによって同時に処理されるメッセージの数が、 CPU あたりのインプロセス メッセージ 数 * ボックスで使用可能な CPU の数を超えています。 インプロセス メッセージのしきい値は、[設定] ダッシュボードの [リソースベースの調整] タブで定義されます。 ホスト インスタンスによって同時に処理されるメッセージの数は、BizTalk:Message Agent パフォーマンス オブジェクト カテゴリのインプロセス メッセージ数パフォーマンス カウンターで測定できます。
既定の調整動作が変更されました。 BizTalk Server パフォーマンス チューニングに設定ダッシュボードを使用すると、調整の動作に影響を与えるさまざまな値について説明します。
調整条件の重大度に応じて、次のアクションが実行されます。
ホスト インスタンスの処理ロジックで徐々に遅延が増やされるのは、メッセージを送信トランスポート アダプター、またはメッセージを処理するオーケストレーション エンジンに配信する前です。 処理ロジック遅延の期間と、期間が調整条件の重大度に合わせてスケーリングされる速度の両方。
インメモリ キューによって保持できるメッセージの数が制限される。 インメモリ キューは、MessageBox からメッセージ エージェントにメッセージを送信するための一時的な格納場所として機能します。メッセージ エージェントはメッセージを XLANG および送信アダプターに配信します。 既定では、CPU ごとに 100 件のメッセージをインメモリ キューに保持できるように設定されています。 キューがいっぱいになると、インメモリ キューが解放されるまで、MessageBox からメッセージが取り出されます。
メッセージ エージェント スレッド プールのサイズが制限される。 ホスト制限メカニズムは、メッセージ エージェント スレッド プールのサイズを制限することにより、XLANG およびアダプターに配信されるメッセージの数を効率的に減らします。
既定のメッセージ エージェント スレッド プール のサイズは、設定ダッシュボードの [全般] タブの [エンジン スレッドの最大数] の値を変更することで変更できます。 この値の変更の詳細については、「 全般設定を変更する方法」を参照してください。
メモリやその他のリソースの使用が可能な限り削減される。 BizTalk Server は、他のサービス クラスに命令を送信し、実行中のスケジュールの退避、メモリ キャッシュ サイズの圧縮、およびメモリ使用量の多いスレッドの使用の制限によって、メモリの使用を制限できます。
MessageBox からアダプターおよび XLANGへの出力メッセージ フロー
参照
BizTalk Server のホスト制限の実装方法
BizTalk Server パフォーマンス チューニングのための設定ダッシュボードの使用