On 05/08/2013 02:42 PM, Fraser Adams wrote:
Hello,
I seem to recall that it's possible to set consumer flow control with Qpid is that correct?

I can't see anything specific in the documentation relating to consumer flow control, I thought that it had something to do with message credits or consumer prefetching but I'm not sure how this actually relates to throttling consumers to a particular rate.

TBH I also thought that there was a "capacity" option in the AddressString for link, in http://qpid.apache.org/books/0.20/Programming-In-Apache-Qpid/html/ch03s06.html there's mention of the |-Dmax_prefetch=1000 and | |{create: always, link:{capacity: 10}} |but it no longer mentions capacity in the Link Properties section in table 2.3 so I'm not sure.

I had a quick play setting capacity and max_prefetch to some low value such as 10 or 1 but to be honest I couldn't see much difference to the rate that the consumer was pulling messages.

Have I missed something, can anyone offer any tips as to how to throttle consumers??

Cheers,
Frase


Consumer flow control is where the consumer throttles the broker. Flow control is credit-based, not rate-based. When you set the capacity on a receiver (qpid::messaging::Receiver.setCapacity() or equivalent), you are setting the upper limit on the number of messages that will be sent by the broker to the receiver without acknowledgement. This causes the broker to match the speed of the consumer as it processes messages.

Are you looking for a way to cap the transfer rate to a particular consumer?

-Ted


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to