[rabbitmq-discuss] Run RabbitMQ server with N scheduler threads

Katerina Roukounaki k4t3r1n4 at gmail.com
Fri Mar 16 17:28:27 GMT 2012


Since the RabbitMQ server is an Erlang application, I wanted to see whether
it runs faster as I increase the number of scheduler threads in the Erlang
VM that runs it (+S option of the erl program).

For this purpose, I wrote a simple benchmark (in Erlang) that spawns P
producer and P consumer processes and creates P queues. The i-th producer
sends M messages to the i-th queue and the i-th consumer waits to receive
them. My benchmark uses native Erlang messaging for sending and receiving

I attach the results I get when I run the benchmark with P=M=1000 on a
machine with 16 cores and assign 1, 2, …, 16 scheduler threads to the VM
that runs the RabbitMQ server.

As you can see, things get better up to 6 schedulers, but with 7 or more
schedulers it seems that there is no further speedup.
Do you have any idea why this is happening?
Is there some kind of synchronization among the processes that the RabbitMQ
server spawns that explains it or should I look for bugs in my benchmark?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120316/44a0e6e1/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rabbitmq_onetoone_direct-time.ps
Type: application/postscript
Size: 17853 bytes
Desc: not available
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120316/44a0e6e1/attachment.ps>

More information about the rabbitmq-discuss mailing list