[rabbitmq-discuss] Puka client and publisher confirms performance

Marek Majkowski majek04 at gmail.com
Wed Mar 14 18:59:37 GMT 2012


On Wed, Mar 14, 2012 at 18:42, Marek Majkowski <majek04 at gmail.com> wrote:
> On Wed, Mar 14, 2012 at 12:31, Christos Stavrakakis
> <stavr.chris at gmail.com> wrote:
>> I am using Puka client [1] in order to send messages with guaranteed
>> delivery using publisher confirms.
>>
>> Trying to send 200.000 messages I see that waiting for the confirms, takes a
>> lot of time.
>>
>> To be more specific:
>>
>>     promises = []
>>     t0 = time.time()
>>     for i in range(0,200000):
>>         promise = client.basic_publish(exchange='test_exchange',
>> routing_key='test',
>>                                                               body="Hello
>> world!")
>>         promises.append(promise)
>>

Right, there is a performance problem with handling pubacks. The complexity
grows with n^2 of unacked messages

Good news: the problem is in this line:
   https://github.com/majek/puka/blob/master/puka/machine.py#L147-148

Bad news: I have no clue how to fix it.

I've rised an issue on github:
   https://github.com/majek/puka/issues/12

Marek


More information about the rabbitmq-discuss mailing list