次の方法で共有


二相コミットのパフォーマンスに関する考慮事項

トランザクション インテグレーター (TI) コンポーネントがトランザクション内で実行されると、TI ランタイム環境は COM+ 環境の Microsoft 分散トランザクション コーディネーター (DTC) にメッセージを送信し、そのトランザクションに LU 6.2 リソース マネージャーの特殊な種類として参加させます。 TI は、データ バッファーをホストに送信し、応答を受け取ると、 SetComplete メソッドを呼び出し、COM+ に制御を返します。 この時点で、クライアント アプリケーション、または TI を駆動する他のコンポーネントは、同じトランザクションにも含まれる他の作業を実行できます。 すべてのリソース マネージャーが更新を行い、 SetCompleteを発行すると、トランザクションの作成者 (自動トランザクションの場合は COM+ 自体) によって、 Commit メソッドが DTC に送信されます。 DTC は、TI ランタイム環境を含むすべてのリソース マネージャーに第 1 フェーズ (Prepare) メッセージを送信します。 TI は、SNA 形式で定義された Prepare PS Header を生成し、ホストに送信します。 応答で RequestCommit を受け取ります。これは、ホストの更新が有効であり、コミット可能であることを示し、この情報を DTC に渡します。 DTC は、すべてのリソース マネージャーから投票を収集し、準備がすべて完了した場合は、コミット レコードを強制的にログに書き込み、 Committed メッセージを送信します。 ここでも、TI はこれを SNA PS Headerに変換し、応答を受け取り、DTC に変換します。 すべてが計画どおりに機能する場合、DTC はトランザクションをロールバックし、APPC/LU 6.2 の会話の割り当てが解除されます。

TI も AP も APPC または CPI/C SYNCPT 動詞について心配する必要もありません。 "SyncPoint を取得する" という決定は、トランザクション作成者によって行われ、OLE トランザクションのセマンティクスで表され、TI LU 6.2 ブランチだけでなく、トランザクションのすべての参加者が関与します。 TI の役割はより低いレベルにあります。TI は、DTC のリソース マネージャーとして機能します。 DTC によって使用される COM インターフェイスとホストによって認識される SNA プロトコルの間で変換され、プロトコルの 2 つのフェーズを実行し、DTC がフェーズ 1 とフェーズ 2 の間でコミットの決定を行えるようにします。

パフォーマンスの観点からは、ホストの更新のアトミック性を保証すると、大幅で避けられないオーバーヘッドが発生します。 2 フェーズ コミット (2PC) を行うためにホストに対する2回のラウンドトリップメッセージフローと、エンリストメントのためのWindowsメッセージフロー、そしてDTCおよびホストによるトランザクションログ(強制ディスク書き込み)があります。 多くのビジネス ロジック処理を必要としないトランザクションは、2PC なしで同じトランザクションと比較する場合、完了に 2 倍以上の時間がかかる場合があります。

ACID トランザクションをサポートするように TI コンポーネントを構成する必要があるのは、関連付けられているホスト トランザクション プログラム (TP) が、Windows オペレーティング システム上のリソースと一貫性を保つ必要があるミッション クリティカルなリソースを変更する場合だけです。 TP が一貫性を保証する必要があるリソースを変更しない場合は、2PC の試行を避けるために TI コンポーネントをトランザクションをサポートしないに構成します。 その後、TCP/IP プロトコルも自由に使用できます。 TCP/IP プロトコルは 2PC をサポートしていません。

TI コンポーネントを [ 新しいトランザクションが必要] として構成しないでください。 これは、ホストのトランザクションをリモートで管理していることを意味し、新しいトランザクションを作成し、それに参加し、ホストとの 2PC 交換を実行するオーバーヘッドが発生しますが、TI メソッド自体はトランザクションになります。 CICS と IMS が独自のトランザクションを管理できるようにする方が効率的です。 Windows オペレーティング システム上の更新プログラムはそのトランザクションの一部ではないため、個別にコミットまたはロールバックされます。

同じサーバーで追加のビジネス ロジック処理を実行すると、スループットの制限が下がり、CPU の一部が盗まれます。 ただし、全体的な応答時間の予算の範囲では、コストが比較的小さい場合があります。

こちらもご覧ください

トランザクション インテグレーター パフォーマンス ガイド