开发者

BizTalk Orchestration Throttling

开发者_Python百科I'm trying to set up a maximum number of orchestrations that can be run at once in BizTalk 2010. I've found that I can specify throttling for an Orchestration at the host level and have the option to specify a Pause at and Resume at specification (on the Host setting's "Orchestration Throttling" tab).

Based on reading the limitted documentation that I could find on MSDN, I'm interpreting that at the number specified for the "Pause at" settings, BizTalk "pauses" and does not start anymore new orchestrations, until the number of active orchestrations is <= the specification of the Resume at setting. Is this an accurate interpretation?


My understanding of this setting (assuming that its the same as the Throttling PauseAt / ResumeAt entry in BTSNTSvc.exe.config since BizTalk 2006) is that it restricts the number of messages to any single subcription (port or orchestration of any type), and not necessarily the number of concurrent orchestrations of a particular type. Any further messages for this subscription will be queued in the messagebox. (IMHO I've found the BTS Throttling settings are more of a self preservation mechanism for BizTalk rather than an app specific tuning mechanism)

If you need to restrict the number of Orchestrations of a specific type (e.g. if BizTalk is overloading a downstream application with limited WCF or SQL resources), you will need to implement a variant of the Singleton Orchestration (i.e. concurrent orchestrations <= N). Richard Seroter describes such a mechanism here (Load Balancing / Round Robin Scheduling, although we've used the random number generation modification suggested by Mike S in the comments). There are some additional robustness concerns around singletons as a single orchestration will process all / many messages - e.g. scope your messages and variables as tightly as possible. You also need to monitor singletons to ensure that the backlog of messages doesn't get too high - we've found that once you get 10k+ messages queued up on a singleton that processing times slow down.


Look at this page; BizTalk Settings Dashboard

Particularly the "Pause at" Section that says;

Specify the maximum number of messages you want a subscription to store. When a subscription has messages waiting to be consumed that are greater than or equal to the specified number, the messages are not delivered to the subscription instance. The minimum number of messages would be the ‘resume at’ value. For example, if you set Pause at value to 100, it means an orchestration has 100 outstanding messages and the MessageBox will stop sending additional messages.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜