[rabbitmq-discuss] RabbitMQ / Erlang not running on all cores?
mklishin at gopivotal.com
Tue Oct 22 22:46:54 BST 2013
On 23 Oct 2013, at 01:31, Matt Pietrek <mpietrek at skytap.com> wrote:
> Thanks Zhibo. We actually have hundreds of queues. Two of them are processing several hundred messages/second. The remaining queues are processing 1 or 2 messages second.
Then you should see at least two cores being moderately used.
As you have correctly identified,
Erlang VM detects 4 cores available to it. What is odd is that you have async-threads:0,
which means disk I/O will block Erlang VM schedulers.
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [kernel-poll:false]
line come from RabbitMQ or just `erl` executed on the same machine?
If you run rabbitmq with RABBITMQ_ALLOW_INPUT=true in the foreground and hit Enter,
you should see how many async-threads it has configured.
For me it's 30 vs 10 for a new Erlang shell.
I'd also recommend using vmstat and similar tools to see how many threads wait on disk I/O.
By the way, do you publish messages as persistent?
More information about the rabbitmq-discuss