[rabbitmq-discuss] Question on throughput with RabbitMQ-3.1.1
PRIYANKI VASHI
vashi.priyanki at gmail.com
Tue Jun 25 16:55:39 BST 2013
Hi Simon,
When u say I am using confirm delivery, isn't that the way one confirm message has reached to rabbitmq server ?
This is what I understood as publisher confirm usage.
Am i wrong in my understanding ?
Also if i want to make sure there is zero message loss both when i publish to server (using above method) as well as by explicitly making sure consumer ack method ?
If the way i do is not correct then what is the correct way to ensure zero message loss ?
I apologize if i am asking too many questions here and if troubling u but i am little bit behind to understand what is that i m doing wrong ?
also how it is correctly done?
And once i have this understanding then its easy to make changes in my scripts.
Thanks !
P
Sent from my iPhone
On 25 jun 2013, at 15:16, Simon MacMullen <simon at rabbitmq.com> wrote:
> Just from quickly scanning your script I notice that you are invoking:
>
> self.channel.confirm_delivery()
>
> on every publish.
>
> As far as I can see from the pika source code this will send confirm.select. That's a synchronous method, so you're incurring a network round trip per publish. That's almost certainly where all your performance is going. You're also not passing in a callback, so it's not really accomplishing anything client-side.
>
> Cheers, Simon
>
> On 25/06/13 14:07, Priyanki Vashi wrote:
>> Hi ,
>>
>> By mistake I had attached a wrong producer in my previous zip file so
>> attaching the correct one now.
>> Sorry for that but I have so many different files, which I have tried.
>> So resending the zip files again with correct producer and consumer (I
>> believe)
>>
>> //P
>>
>>
>>
>>
>> On Tue, Jun 25, 2013 at 2:59 PM, Emile Joubert <emile at rabbitmq.com
>> <mailto:emile at rabbitmq.com>> wrote:
>>
>>
>> Hi,
>>
>> On 25/06/13 13:38, Priyanki Vashi wrote:
>>
>> > I have very high end server with 20 CPUs and 120 GB of RAM so I think
>> > resources wise it's not the bottleneck.
>>
>> And what about the network speed? I would still try an independent
>> bandwidth test from network to disk to give you a comparison reference.
>>
>> The numbers you quoted are about 2 orders of magnitude lower than I
>> would expect for that hardware. Bear in mind that the queue process is
>> typically the most CPU-intensive process. A queue on a single server can
>> occupy at most one CPU, so will benefit more from a faster CPU than from
>> many CPUs.
>>
>> > Did u and Tim received my scripts ?
>>
>> Not yet, but hopefully someone who knows more about the Pika client than
>> me will be able to comment.
>>
>> > I learnt that basic_consume is better choice than basic_get since
>> server
>> > will directly send messages to listening consumer without consumer
>> > polling it.
>>
>> Yes, and the asynchronous choice is typically faster.
>>
>>
>> If you are still stuck with very low throughput then I would recommend
>> you try the MulticastMain utility, included in the RabbitMQ Java client.
>> It includes support for many of the options that you want to compare,
>>
>>
>>
>> -Emile
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
> --
> Simon MacMullen
> RabbitMQ, Pivotal
More information about the rabbitmq-discuss
mailing list