Acknowledgement Batching
The AMPS C# client automatically batches acknowledgments when either of the convenience methods is used. Batching acknowledgments reduces the number of round-trips to AMPS, reducing network traffic and improving overall performance. AMPS sends the batch of acknowledgments when the number of acknowledgments exceeds a specified size, or when the amount of time since the last batch was sent exceeds a specified timeout.
You can set the number of messages to batch and the maximum amount of time between batches, as shown below:
The AMPS C# client is aware of the subscription backlog for a subscription. When AMPS returns the acknowledgment for a subscription that contains queues, AMPS includes information on the subscription backlog for the subscription. If the batch size is larger than the subscription backlog, the AMPS C# client adjusts the requested batch size to match the subscription backlog.
60East recommends tuning the batch size to improve application performance. A value of 1/3 of the smallest max_backlog
value is a good initial starting point for testing. 60East does not recommend setting the batch size larger than 1/2 of the max_backlog
value without testing the setting to ensure that the application does not run out of messages to process while the acknowledgment is being sent to AMPS.
Last updated