兩階段交易認可效能考量

當交易整合器 (TI) 元件在交易內執行時,TI 執行時間環境會在 COM+ 環境中將訊息傳送至 Microsoft Distributed Transaction Coordinator (DTC) ,並將它本身列在交易上,作為 LU 6.2 資源管理員的特殊類型。 TI 將資料緩衝區傳送至主機並接收回複之後,它會呼叫 SetComplete 方法,並將控制權傳回 COM+。 此時,用戶端應用程式或其他驅動 TI 的元件可以執行相同交易中也包含的其他工作。 當所有資源管理員進行更新併發行 SetComplete 時,交易的建立者 (這可以是 COM+ 本身的自動交易) 會將 Commit 方法傳送至 DTC。 DTC 會將第一階段 () Prepare 訊息傳送給所有資源管理員,包括 TI 執行時間環境。 TI 會產生 Prepare PS Header SNA 格式中定義的 ,並將它傳送至主機。 它會在回復中收到 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 通訊協定之間轉譯,以執行通訊協定的兩個階段,並讓 DTC 在階段 1 和階段 2 之間做出認可決策。

從效能的觀點來看,保證主機更新的不可部分完成性會增加重大且無法避免的額外負荷。 兩階段認可 (2PC) 主機還有兩個額外的來回訊息流程,再加上 Windows 訊息流向登記,而交易記錄 (DTC 和主機上的強制磁片寫入) 。 當您將交易與沒有 2PC 的相同交易進行比較時,不需要大量的商務邏輯處理,可能需要兩次以上的時間才能完成。

您應該設定 TI 元件以支援 ACID 交易的唯一時間是當相關聯的主機交易程式 (TP) 修改必須與 Windows 作業系統上的資源保持一致的任務關鍵資源時。 如果 TP 不會修改任何必須保證一致性的資源,請將 TI 元件設定為 不支援交易,因此不會嘗試 2PC。 然後,您也可以免費使用 TCP/IP 通訊協定。 TCP/IP 通訊協定不支援 2PC。

TI 元件絕不應設定為 需要新交易。 這表示您要從遠端系統管理主機的交易,而且會產生建立新交易、登記該交易以及與主機執行 2PC 交換的額外負荷,但 TI 方法會是交易本身。 讓 CICS 和 IMS 管理自己的交易更有效率。 Windows 作業系統上的任何更新都不會是該交易的一部分,因此它們會獨立認可或復原。

注意

相同伺服器上的其他商務邏輯處理會降低輸送量限制,竊取部分 CPU。 不過,成本在整體回應時間預算的範圍內可能會相對小。

另請參閱

交易整合器效能指南