I am using tomcat 8 as part of Spring Boot project and my acceptCount setting seems to be not working. Instead of only accepting 300 connections, my server accepted almost 1000 connection I threw at it, though of course processing no more than 200 of them simultaneously.
Tomcat documentation seems to be clear on acceptCount: "The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused." But clearly that does not happen.
There is of course another setting, maxConnections, and its documentation says: "Note that once the limit has been reached, the operating system may still accept connections based on the acceptCount setting" - but that note alone does not yet mean acceptCount is "count on top of maxConnections, not maxThreads" (like the topicstarter at https://coderanch.com/t/647733/application-servers/Tomcat-BIO-connector-configurations thinks). It just means that it will have its effect in both cases: when all processing threads are busy, and when all available connections are exhausted. (And even if that guy was correct, that would mean Tomcat documentation is outright wrong when defining acceptCount...)
Then why is it ignored? I found some mentions of discussions where people supposedly claimed that acceptCount does not work for them, but did not find actual discussions :( Even on the contrary, I was able to find some complains about how Tomcat chokes after 300 connections (which is exactly default maxThreads + acceptCount). So I can see that for some people it works, and I am asked to believe that "maybe" for some people it does not. Not for me either. Should I trust that the Tomcat manual is wrong in a sense that this option is not always respected?