Batching
Batching is a serialized processing of a set of messages that allows for optimizations with respect to database round trips. A batch is a unit of work that is atomic; that is, it either all succeeds or all fails. If one operation in a batch succeeds but another operation fails, all the operations that make up the batch are invalidated and must be repeated.
BizTalk Server uses batching to:
Amortize the cost of the transaction across many messages.
Increase speed by reducing the internal number of database round trips.
Make more efficient use of the BizTalk Server thread pool by using the BizTalk Server Asynchronous API.
Applying Batching
Batching is configured in the advanced properties for a receive location and is enabled automatically on the send port side.
Lowering the Batch Size
You should lower the batch size if in the following instances:
When processing large messages
When database round trips are not your bottleneck
Note
Be careful when changing the LargeMessageThreshold setting. The batch size multiplied by the average message size should be less than the LargeMessageThreshold setting unless the batch size is 1.
See Also
The Messaging Engine
Batching Messages for Receive Processing
Batching Messages for Send Processing