[rabbitmq-discuss] channel limits

Matthew Sackman matthew at lshift.net
Fri Nov 20 12:24:27 GMT 2009


On Wed, Nov 18, 2009 at 09:44:28AM -0800, JD Conley wrote:
> > The channel number is a short in the AMQP spec, which means 16
> > bits, so 65535 is the maximum channel. It's likely you'll need to tune
> > Erlang slightly for this given the default number of processes is
> > 32768.
> > A +P 134217727 arg to erl should get round this for you.
> 
> Is this a limitation per RabbitMQ cluster then? Just trying to get a feel
> for how I need to architect the cluster and application code...

Each node in the cluster has a limit of the maximum number of erlang
processes. This number is set by the +P arg to erlang, and has a maximum
of 134217727. Each channel requires one process.

Each connection can potentially create up to 65535 channels. With the
process limit set to the maximum of 134217727, this suggests that you'll
be able to have around 2000 connections, each with 65535 channels, *per
node*. However, each connection takes several processes, as do queues
and so forth, so you're unlikely to be able to reach this - you'll run
out of processes earlier.

> Does RabbitMQ re-use old channel numbers?

Yes.

Matthew




More information about the rabbitmq-discuss mailing list