[rabbitmq-discuss] Performance degrades with increasing queue depth

Aisha Fenton aisha.fenton at gmail.com
Tue Sep 8 22:46:50 BST 2009


Sorry meant to say EventMachine, not libevent.

> I am interested as to what the specific issue is with sending acks
> with libevent - are you saying that the app can issue an ack and this
> can potentially go AWOL between the the libevent API returning and the
> point it time when the AMQP frame is actually written to the socket?


This article sums it up well. I haven't investigated this myself  
though, so only going on a other peoples comments.
http://pivotallabs.com/users/jpalermo/blog/articles/952-rabbitmq-amqp-gem-and-eventmachine

The article also suggests a workaround. Use MQ.prefetch(1)



On 9/09/2009, at 2:01 AM, Chuck Remes wrote:

> Aisha is mistaken. The ruby amqp library does not use libevent  
> anywhere. It uses EventMachine under the covers which is a home- 
> grown reactor written in C that uses select, poll and kqueue  
> depending on the platform.
>
> cr
>
>
> On Sep 8, 2009, at 8:33 AM, Ben Hood wrote:
>
>> Aisha,
>>
>> Not wanting to hijack this thread another time, but....
>>
>> On Mon, Sep 7, 2009 at 10:44 PM, Aisha  
>> Fenton<aisha.fenton at gmail.com> wrote:
>>> The library I'm using (http://github.com/celldee/bunny/tree/ 
>>> master) is
>>> synchronous only. I'm considering switching to (http://github.com/tmm1/amqp/tree/master
>>> ) which is async and uses libevent. However, I've read that there  
>>> are
>>> problems with msg acknowledges in apps that use libevent, because  
>>> the
>>> OS can buffer the ack responses. And although I'm not using ack  
>>> yet, I
>>> want to in my production system.
>>
>> I am interested as to what the specific issue is with sending acks
>> with libevent - are you saying that the app can issue an ack and this
>> can potentially go AWOL between the the libevent API returning and  
>> the
>> point it time when the AMQP frame is actually written to the socket?
>>
>> Ben
>





More information about the rabbitmq-discuss mailing list