Ah! So, the OS (Linux, in this case) has a TCP listen queue! Doh! I was
unaware. This is a good clue for further investigation.
But, I am still puzzled by the limit of 6 concurrent MHD threads? Why 6,
not 5, 7...? Is this modifiable? Would there be any benefit to
increasing or decreasing this number?
There is no hard limit like that by MHD. However, usually having
significantly more threads than cores is unlikely to improve performance
if you are CPU-bound. For the best performance, you should typically use
the thread pool, there you can specify exactly the number of threads MHD
should start.
Why you currently get exactly 6 is not something I can say; MHD should
start more (in thread-per-connection mode) if there are more concurrent
connections to be handled.
-Christian