What you are looking for is the entry in output of sysctl -a command as such:::
net.ipv4.tcp_max_sync_backlog = 4096
In the above example case, the backlog of SYN state connections is maximum 4096. You can increase that based on how much RAM is in your server. I consider 32K backlog to be a good start for tuning of heavily loaded web servers.
Also make sure the following is NOT set to One (1)::
net.ipv4.tcp_abort_on_overflow = 0
Otherwise it will definitely drop packets if there is a backlog overflow.
You can easily check via
"sysctl -a | egrep backlog"
"sysctl -a | egrep overflow"
Additionally, you can find "dropped" label under the
"ifconfig -a "
command's output. That shows how many packets were dropped for each interface along with other data and errors etc.
For Logging dropped packets there is a paywall article on RHEL 7::
For further research you may read:
It states here as per Steven's Book Illustrated TCP/IP:
"The queue limit applies to the sum of […] the number of entries on the incomplete connection queue […] and […] the number of entries on the completed connection queue […]."
Hence also states that:
"The completed connection queue is almost always empty because when an entry is placed on this queue, the server’s call to accept returns, and the server takes the completed connection off the queue."
The accept queue may hence seem completely empty and you will have to tune your (possibly in this case) Web Apache server to accept faster the connections placed on the "total aggregate" queue.