Reprinted from: Click to open link
In Linux,/proc/sys/net/core/somaxconn this parameter, a good parameter of the kernel in Linux Somaxconn
Look at its parsing:
For a TCP connection, the server and client need to have a three-time handshake to establish a network connection. When the three-time handshake succeeds,
We can see that the status of the port is changed from listen to established, and then the link can start transmitting data.
Each port in the listening (Listen) state has its own listening queue. The length of the listening queue is related to the following two aspects:
-Somaxconn parameters.
-The Listen () function in the program that uses the port.
1. About Somaxconn Parameters:
Defines the length of the maximum listening queue for each port in the system, which is a global parameter with a default value of 128, with the following information:
Purpose:
Specifies the maximum listen backlog.
Values:
default:128 connections
range:0 to Maxshort
Type:connect
Diagnosis:
N/A
Tuning
Increase this parameter in busy WEB servers to handle peak connection rates.
Look at the analysis of FreeBSD:
Limits the size of the listening queue to receive new TCP connections. The default of 128 is too small for a high-load Web service environment that often handles new connections. Most environments this value is recommended to increase to 1024 or more. The service process itself limits the size of the listening queue (for example, SendMail (8) or Apache), and often has the option to set the queue size in their configuration file. A large listening queue can also help prevent denial-of-service DoS attacks.
We can pass,
echo 1000 >/proc/sys/net/core/somaxconn
To modify this parameter.
A good parameter to the kernel in Linux Somaxconn