如何測試和偵錯配接器
偵錯執行階段的問題時通常需要使用多重 Facet 的方法。 您必須從多個來源 (例如軟體追蹤、效能計數器、事件日誌項目、Windows Management Instrumentation (WMI) 事件和偵錯原始程式碼) 收集資料,才能確定問題或軟體 Bug 的原因。
由於接收埠和傳送配接器都是在 BizTalk 服務的位址空間中執行,因此必須將偵錯工具連接到 BtsNtSvc.exe 處理序,才能對配接器進行偵錯。 不過,針對隔離接收配接器,偵錯工具必須附加至裝載配接器的進程。
您應該使用追蹤程式碼來檢測配接器執行階段程式碼,以擷取執行階段的疑難排解診斷。 您可以使用 Microsoft Enterprise Instrumentation Framework (EIF) 完成這項作業。 通常,加入不同嚴重性層級的追蹤陳述式會很有幫助;例如,只追蹤錯誤情況、追蹤錯誤和警告,以及最後再追蹤錯誤、警告和參考陳述式。 此外,較複雜的配接器可能有個別的子系統需要彼此分開追蹤。 例如,配接器可能有一個網路子系統和一個核心子系統;在某些情況下,啟用所有子系統的追蹤功能可能會產生過多的「干擾」。
在執行階段時,應該加入效能計數器來擷取速率和值,以提供更多有關配接器執行階段行為的資訊。 例如,配接器可能會發佈效能計數器,以收集每個端點傳送的訊息原始數目,以及每秒傳送的訊息速率。
WMI 事件也可用於某些嚴重的錯誤情況。 例如,如果配接器發生嚴重錯誤,使它關閉接收位置,則引發 WMI 事件將可讓系統管理員接聽該事件,並採取適當的動作。
配接器測試
當您為 BizTalk Server 開發自訂配接器時,請記住,您應該依照企業軟體品質的標準來開發它。 這表示您必須在發送配接器之前,進行徹底的測試。 本節並未完整詳述配接器的測試方式,但提供了應該執行的測試內容。 一般而言,測試回合時間程式碼,例如介面卡應該涵蓋三大類別:功能測試、壓力測試和效能測試。
功能測試
配接器應該經過所有功能排列的測試,包括正向測試與負向測試。 正向測試應該包括 (但不限於) 下列實例:
接收訊息
傳輸訊息
使用動態連接埠傳輸訊息
停用接收位置
更新設定
確認接收配接器和傳送配接器都能使用服務視窗
確認交易配接器的交易完整性
負向測試應該包括 (但不限於) 下列實例:
接收錯誤訊息
接收部分正確、部分錯誤的混合訊息批次
傳輸失敗
重試成功
重試失敗,成功移到下一個傳輸
移到下一個傳輸失敗,擱置訊息
傳輸混合的訊息批次
資料庫容錯移轉
壓力測試
配接器是執行階段元件,因此應該符合執行階段軟體的嚴格需求。 壓力測試通常是透過執行已在負載下一段時間的實例來進行。 您應該在兩次失敗測試之間,進一步執行高壓力及低壓力標準時間,使配接器在負載下執行一段經過測量的時間。
這些測試的某些概略方針可能會在高壓力下執行配接器 72 個小時左右的時間,而讓通過配接器的訊息數目產生約 80% 到 90% 的 CPU 使用率。 在低壓力的情況下,如果執行時間為 120 個小時左右,則 CPU 使用率約為 30% 到 40% 左右。
效能測試
開發配接器時應留意效能的問題。 發行配接器之前,您應該先驗證其效能。 請務必確認配接器的效能能夠向上及向外擴充,也就是說,新增更多 CPU 與新增更多電腦一樣,都能提升效能。 對程式碼進行分析可協助解決效能瓶頸問題。