[rabbitmq-discuss] TCP-level connection limitations (was Re: RabbitMQ cluster with potentially millions of connections)
mcintoshj at gmail.com
Mon Jan 28 19:16:43 GMT 2013
The kicker is if there's a load balancer between then the load balancer would act as a proxy to the various nodes - so it has a limited number of connections it can make to a single server.
So a suggestion - remove the load balancer and even cluster - start with a single box. See how many connections it can handle solo. Though if possible limited connections with multiple channels is a better idea.
Sent from my iPhone
On Jan 28, 2013, at 11:43 AM, Tony Garnock-Jones <tonygarnockjones+rabbitmq at gmail.com> wrote:
> Hi Jason,
> On 26 January 2013 12:14, McIntosh Jason <mcintoshj at gmail.com> wrote:
>> with TCP/IP communications an interface only has 65k ports (roughly).
> If my understanding is correct, this is less of a limitation than it seems.
> TCP connections are identified by a quad of source-IP, source-port, dest-IP and dest-port. So if you have a service listening on 10.1.2.3 port 5672, the connections will, on the server, look like
> 192.168.34.56:43556 <--> 10.1.2.3:5672
> 172.16.99.104:50602 <--> 10.1.2.3:5672
> 10.202.14.66:61082 <--> 10.1.2.3:5672
> and so on. In each case, the IP/port of the server's end of the socket is the same. This means that you're not limited to 65k TCP connections per interface; instead, you're limited to approximately 2^48 = 281,474,976,710,656 connections *per listening socket* :-)
> The rest of your message is spot on, in particular regarding file descriptor and memory limits in the operating system and C libraries.
> Tony Garnock-Jones
> tonygarnockjones at gmail.com
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss