Reputation: 4595
I have a doubt regarding the backlog value in listen
system call. From man page of listen system call.
If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently truncated to that value; the default value in this file is 128.
It means my server can accept only <128 connections at once. What if I want to accept more connection >128 ?? Can I simply set the value to the possible maximum number so that I can access more number of connection ??
Upvotes: 10
Views: 4100
Reputation: 5135
The backlog value is not the number of maximum connections, it's the number of outstanding connections, i.e connections which you havn't accept():ed.
Upvotes: 1
Reputation: 994231
That number is only the size of the connection queue, where new connections wait for somebody to accept them. As soon as your application calls accept()
, a waiting connection is removed from that queue. So, you can definitely handle more than 128 simultaneous connections because they usually only spend a short time in the queue.
Upvotes: 9