[rabbitmq-discuss] TCP-level connection limitations (was Re: RabbitMQ cluster with potentially millions of connections)
tonygarnockjones+rabbitmq at gmail.com
Mon Jan 28 17:43:37 GMT 2013
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.
tonygarnockjones at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss