I'm with you on the multiple language runtimes into one process, I find it hard to envision a situation where that would be a benefit, the only situations I can think of have nothing to do with scaling issues (multiple smaller websites for some reason bound to legacy versions of an interpreter).
The other issue (a small number of processes accepting work) is a good idea though I think, to get the number of processes doing actual work closer to the number of cores.
After all, even if it is a 'small multiple' it is a divider when it comes to how much hardware you need and less hardware=better.
The DB may be a bottleneck, it may not be, that very much depends on the workload of the server.