Home > Back-end >  How to set unlimited max connections for a TCP listening socket on Linux?
How to set unlimited max connections for a TCP listening socket on Linux?

Time:01-09

I do not know how to set the maximum connections to unlimited.

I tried to set the max connections to 0, but I don't know if it's unlimited.

Does 0 mean unlimited?

listen(serverSocket, maxConnections)

CodePudding user response:

listen's man page states the following:

The behavior of the backlog argument on TCP sockets changed with Linux 2.2. Now it specifies the queue length for completely established sockets waiting to be accepted, instead of the number of incomplete connection requests. The maximum length of the queue for incomplete sockets can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog. When syncookies are enabled there is no logical maximum length and this setting is ignored. See tcp(7) for more information.

If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently capped to that value. Since Linux 5.4, the default in this file is 4096; in earlier kernels, the default value is 128. In kernels before 2.4.25, this limit was a hard coded value, SOMAXCONN, with the value 128.

SOMACONN is defined in <sys/socket.h>.

And as @Jerry commented: "That may not be truly unlimited, but it's as many as available anyway."

  • Related