最佳化 MSMQ 配接器的效能
MSMQ 配接器的最佳化在傳送端與接收端之間各有不同。 您可以藉由設定接收位置上的屬性,來控制接收端上的最佳化。 在傳送端上,您可以使用協調流程來控制最佳化。
接收最佳化
在接收端上,您可以讓配接器使用單一執行緒。 配接器是否使用單一線程或多個執行緒,取決於接收位置上 [已排序處理 ] 屬性的設定,如下所示:
當 屬性為 True時,配接器會在單一線程上運作。 這將限制配接器一次只能處理一個訊息並節省記憶體。 請注意,不論屬性工作表中指派的值為何,這都會有效地將 Batch Size 設定為 1 (1) 。
當 排序處理 為 False時,配接器會執行多個執行緒,而且可以一次處理多個訊息,因而增加效能。
如果您在管理伺服器資源上放置進階,或是訊息的數目或大小可能會耗盡可用的記憶體,則必須將 [已排序處理 ] 設定為 True 。
您也可以藉由減少接收位置上的 Batch Size 值來控制記憶體使用量。 批次大小越小,會在記憶體中保留的訊息就越少,因此會用到的記憶體也會比較少。
將傳送埠和接收位置放置在不同的電腦上,也可以減少記憶體的使用。
傳送最佳化
在傳送端上,您可以使用範例協調流程來達成相等的單一訊息處理。 此範例會傳送單一訊息,然後等待傳送下一個訊息,直到它收到通知為止。 如需詳細資訊,請參閱 如何建立 MSMQ 接收位置和從程式碼傳送埠。
遠端交易式讀取作業
有了BizTalk Server MSMQ 配接器就能夠從交易式 MSMQ 佇列進行遠端讀取作業。 這是因為 MSMQ 4.0 和更新版本支援遠端交易式讀取作業。 不過,交易式讀取作業通常是緩慢的作業。 若要最佳化效能,則應該只在沒有其他選擇的情況下使用這類作業。