What value of backlog should I use?

2020-06-09 08:38发布

问题:

I read the man 2 listen.

I don't understand what is the backlog value, it says

The backlog argument defines the maximum length to which the queue of pending connections for sockfd may grow

Right, how can I define what is the best value?

Thanks

回答1:

Basically, what the listen() backlog affects is how many incoming connections can queue up if your application isn't accept()ing connections as soon as they come in. It's not particularly important to most applications. The maximum value used by most systems is 128, and passing that is generally safe.



回答2:

It's a fight between clients trying to connect. pushing accept requests onto the queue, and the accept thread/s sucking them off. Usually, the threads win. I usually set at 32, but it's not usually an important parameter.