[rabbitmq-discuss] Question on throughput with RabbitMQ-3.1.1 single node as well as cluster
Priyanki Vashi
vashi.priyanki at gmail.com
Tue Jun 25 08:44:00 BST 2013
Hi there,
I am doing a performance study of RabbitMQ-3.1.1 and this is my first time
to do such a performance study with any messaging broker :))-
1) I have thoroughly gone through rabbitMQ in action' and learnt important
concepts.
2) Tried single node broker to get a feel of how it is working and then set
up a four node cluster (with two disk and two RAM type of node). Also
configured HAproxy TCP Load balancer so that I can just provide single port
to connect to the Cluster.
3) I am simulating producer and consumers through Python scripts ( using
Python-pika library methods to connect to server , publish subscribe etc.)
4) My scripts are working fine but where I am stuck is no matter what I do
my throughout is always 300 msg/sec.
5) I have defines durable exchanges and queues
My final requirement is to run atleast 10 to 15 producer and 60 to 70
consumer simultaneously and I want to start with linear increase in number
of producer and consumer so that I can make conclusions about throughout,
fault handling, processor utilization etc. etc but I am seriously stuck now
after trying to start in initial steps only. This group's help would be
really appreciated.
I have started with following different scenarios but no matter what I do
my throughput is more or less remaining same (300 msg/sec) except for
Scenario-1
Scenario-1
-1 producer and No consumer and no queue binded to exchange
-Producer is running in infinite loop and publishing to one fanout exchange
- publisher/confirm disabled
-Publisher rate - 6200 msg/sec ( checked through web management plugin)
Tried scenario-1 with also fanout type of exchange and it's the same
publish rate
I know that Scenario-1 is not really useful, since there are no queues and
ultimately messages will be dropped but as a part of debugging process I
tried this and I see above mentioned results.
Scenario-2
-1 producer and 1 consumer
-Producer is running in infinite loop and publishing to one direct exchange
-A consumer has it's own dedicated queue and listening to above exchange
- publisher/confirm and consumer ack are disabled
Throughput - 300 msg/sec ( which is basically publish rate = 300 msg/sec
and deliver rate - 300 msg/sec)
Tried Scenario-2 also with fanout type of exchange and enabling publisher
confirm and consumer ack
Still the same throughput as 300 msg/sec
Scenario-3
-1 producer and 4 consumer
-Producer is running in infinite loop and publishing to four direct exchange
-A consumer has it's own dedicated queue and listening to respective
exchange
- publisher/confirm and consumer ack are disabled
Throughput - 300 msg/sec ( which is basically publish rate = 300 msg/sec
and deliver rate - 300 msg/sec)
Tried Scenario-3 also with fanout type of exchange and enabling publisher
confirm and consumer ack
Still the same throughput as 300 msg/sec
Tried configuring prefetch_count parameters also to 100 but it still gives
me same throughput of 300 msg/sec.
I am honestly going crazy with this.
After seeing this behavior, I am seriously suspecting that there is some
serious limitation with my simulated producers and consumers.
Has anyone else has tried Python-pika client and any idea on throughput
with this version of rabbit ?
Did anyone have rough idea about throughout with rabbitMQ-3.1.1 ?
I can also share my python scripts if required but I would really
appreciate some light on this situation
Also what points to take care, in order to improve throughput ?
Best Regards,
Priyanki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130625/cfa3ab92/attachment.htm>
More information about the rabbitmq-discuss
mailing list