For the last couple of hours I've been trying to battle with my server to keep it up during some pretty minor load (50 concurrent users).
Spec:
6 CPUs
12GB RAM
During this time, memory usage maxed out at 4GB, so no problems there.
However, Apache was going insane kicking up about 20+ running processes and eating up all 6 CPUs (600% CPU usage), bringing the website to a halt.
Now; with exactly the same traffic and concurrent users, CPU usage is down to 40% of the available 600% - no changes were made.
I cannot for the life of me see why Apache thought it necessary to kick up 20+ running processes, and at the same time use 1 or 2 for the same traffic volumes.
How can I diagnose what these Apache processes are actually doing? I know to limit this through MaxClients but that still bottlenecks the server when its trying to create 20+.