[rabbitmq-discuss] Puka client and publisher confirms performance

Marek Majkowski majek04 at gmail.com
Tue Mar 20 13:06:51 GMT 2012


On Tue, Mar 20, 2012 at 12:52, Aaron Westendorf <aaron at agoragames.com> wrote:
> I looked at the changes and in addition to those, I recommend using
> the Python deque class for your buffers. I noticed a significant
> improvement in performance when I switched to them in haigha.

For which buffers exactly? Network one: simplebuffer.py?

Marek

> On Tue, Mar 20, 2012 at 6:41 AM, Marek Majkowski <majek04 at gmail.com> wrote:
>> On Wed, Mar 14, 2012 at 18:59, Marek Majkowski <majek04 at gmail.com> wrote:
>>> 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
>>
>> Christos,
>>
>> Thanks for your report and for the pull request!
>>
>> I just uploaded puka 0.0.4 to pypi, which solves the problem.
>>
>> Cheers,
>>    Marek
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>
> --
> Aaron Westendorf
> Senior Software Engineer
> Agora Games
> 359 Broadway
> Troy, NY 12180
> Phone: 518.268.1000
> aaron at agoragames.com
> www.agoragames.com


More information about the rabbitmq-discuss mailing list