Dear sirs,
searching on the web and in old ML threads about the suggested number of TCP and UDP workers, I just found:
- for TCP children (i.e., TCP receivers, isn't it?) "As a rule of thumb, (maximum simultaneous connections)/2000 should be OK" (from doc/tcp_tunning.txt)
- In general for workers (from a past thread by Henning Westerholt): "In my experience the number of children is not that important for performance, you may just choose the default size of 8."
In the last post there was, moreover, a suggestion that the number of children should be chosen with respect to RAM and CPU cores (that makes sense to me).
The only thing I can think about the rule of thumb above comes from the possibility that a number of processes may be unavailable in blocking operations. So my question is:
- with asynchronous TCP/TLS is it safe to assume that more children than CPU cores are more or less useless? - are there other blocking operations for which the number of UDP/TCP children should be incremented above the CPU cores number?
Thank you!
Best regards, Francesco Castellano