[rabbitmq-discuss] rabbitmq cpu usage can not be more than 700%

Simon MacMullen simon at rabbitmq.com
Tue Mar 12 16:14:44 GMT 2013


You will not be using HiPE if your configuration contains 
{hipe_compile,false}.

It might also be worth trying Erlang R16B - I believe they've been 
working on better support for more cores.

Cheers, Simon

On 12/03/13 02:51, Xie Yunpeng wrote:
> Hi.
>
> the server is a pc server,not a NUMA,
> i think the case is using HiPE,becase it exactly 700%, just occasionally
> surpass 1~3%,  but it shows me
> $ ./rabbitmqctl environment | grep hipe
>   {hipe_compile,false},
>
> * in my test one thread is create one connection,so i use hunderd of
> connection to send/recv messages.
> * it really cpu-bound, memory/disk/network is not bound, the system 1
> min load is only 9~10
> * add RABBITMQ_SERVER_ERL_ARGS args is not work
>
> i think the best method is to run a cluster on a single machine
>
> thanks
>
>
> 2013/3/7 Simon MacMullen <simon at rabbitmq.com <mailto:simon at rabbitmq.com>>
>
>     Hi.
>
>     First of all, the biggest machine I have available to test with is 8
>     cores, so 24 cores is somewhat unknown territory for me. Is this a
>     NUMA machine? However, with that in mind I did some quick tests.
>
>     I was able to get 797% CPU usage with only 4 producer / queue /
>     consumer sets. So it is possible to get past 700%. Interestingly, I
>     got stuck at ~700% when using HiPE - do you have HiPE switched on?
>
>     If not, there are a few things to test:
>
>     * Just to check - you didn't say how many connections you used. If
>     you are running all those send / receive threads through one or two
>     connections you may find that is limiting you.
>
>     * Check you really are CPU-bound - if you are publishing persistent
>     messages or your queues are becoming large you are probably
>     disk-bound. If you are publishing large messages you may be
>     network-bound. One way to test this is with the run queue length,
>     exposed in "rabbitmqctl status" or "Overview" > <node name> >
>     "Advanced" in the management plugin. If this is non-zero you are
>     CPU-bound.
>
>     * You may wish to experiment with adding some the scheduler flags
>     documented at http://www.erlang.org/doc/man/__erl.html
>     <http://www.erlang.org/doc/man/erl.html> to
>     RABBITMQ_SERVER_ERL_ARGS, although this feels rather magical.
>
>     * As a last resort, it is possible to run a cluster on a single
>     machine; this might hwelp you use more cores. See
>     http://www.rabbitmq.com/__clustering.html#single-machine
>     <http://www.rabbitmq.com/clustering.html#single-machine>
>
>     Cheers, Simon
>
>
>     On 07/03/13 08:14, Xie Yunpeng wrote:
>
>         rabbitmq version: 3.0.2
>         cpu: 24 cores
>         memory: 64G
>         i deploy a rabbitmq service on the server above and do a stress
>         testing
>         , use 150 threads for send and 300 threads for recv on 150
>         queues on the
>         service, per queue with 1 send/ 2 recv.
>         the cpu useage is always below 700%, no matter i increase queues and
>         threads or not.
>
>         how to use more than 7 cores in rabbitmq?
>
>         i find smp is set to 24:24
>         [rabbitmq]$ erl
>         Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:24:24]
>         [async-threads:0] [hipe] [kernel-poll:false]
>
>         Eshell V5.9.3.1  (abort with ^G)
>
>
>         _________________________________________________
>         rabbitmq-discuss mailing list
>         rabbitmq-discuss at lists.__rabbitmq.com
>         <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>         https://lists.rabbitmq.com/__cgi-bin/mailman/listinfo/__rabbitmq-discuss
>         <https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
>
>
>
>     --
>     Simon MacMullen
>     RabbitMQ, VMware
>
>


-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list