We are currently using RabbitMQ v3.6.1 for one of our applications and we are facing poor performance from RabbitMQ. Currently the RabbitMQ is installed on 3 AWS m3.large instances in a cluster. We have configured few parameters of RabbitMQ for obtaining high levels of utilization such as vm_memory_high_watermark, 0.8, however still we dont see any improvements in performance. We have tested the Queue with a prefetch of 10, 100, 200, 250 and 500 values, with optimal consumer utilization of 2-3%.
RabbitMQ is currently installed on Ubuntu 14.04.
Can anyone help us out with fine tunning/ performance optimization of this setup? We are looking to handle approx 5000 concurrent users/ sec.
# rabbitmqctl status
Status of node 'rabbit@mq-rabbit' ...
[{pid,1559},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.6.1"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.1"},
{webmachine,"webmachine","1.10.3"},
{mochiweb,"MochiMedia Web Server","2.13.0"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.1"},
{rabbit,"RabbitMQ","3.6.1"},
{os_mon,"CPO CXC 138 46","2.2.14"},
{ssl,"Erlang/OTP SSL application","5.3.2"},
{public_key,"Public key infrastructure","0.21"},
{crypto,"CRYPTO version 2","3.2"},
{amqp_client,"RabbitMQ AMQP Client","3.6.1"},
{rabbit_common,[],"3.6.1"},
{inets,"INETS CXC 138 49","5.9.7"},
{mnesia,"MNESIA CXC 138 12","4.11"},
{compiler,"ERTS CXC 138 10","4.9.4"},
{xmerl,"XML parser","1.3.5"},
{syntax_tools,"Syntax tools","1.6.12"},
{asn1,"The Erlang ASN1 compiler version 2.0.4","2.0.4"},
{ranch,"Socket acceptor pool for TCP protocols.","1.2.1"},
{sasl,"SASL CXC 138 11","2.3.4"},
{stdlib,"ERTS CXC 138 10","1.19.4"},
{kernel,"ERTS CXC 138 10","2.16.4"}]},
{os,{unix,linux}},
{erlang_version,
"Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:64] [kernel-poll:true]\n"},
{memory,
[{total,60350672},
{connection_readers,171560},
{connection_writers,155896},
{connection_channels,357208},
{connection_other,150416},
{queue_procs,2240928},
{queue_slave_procs,0},
{plugins,1054320},
{other_proc,18294808},
{mnesia,72160},
{mgmt_db,1122600},
{msg_index,63600},
{other_ets,1363576},
{binary,2484384},
{code,26676279},
{atom,951441},
{other_system,5191496}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.8},
{vm_memory_limit,6274695168},
{disk_free_limit,5000000000},
{file_descriptors,
[{total_limit,924},{total_used,6},{sockets_limit,829},{sockets_used,3}]},
{processes,[{limit,1048576},{used,270}]},
{run_queue,0},
{uptime,2957},
{kernel,{net_ticktime,60}}]