I believe that “dhapache” is “dreamhost apache”. It’s not very likely that it’s causing the server overload unless it’s responding to a denial-of-service attack.
When there are x copies of apache running, and there are x+1 requests being made, the server has to start another copy of apache up. Because apache is a big complicated program, it takes quite a few CPU cycles to get another copy up and running. On the other hand, because apache is a big complicated program, you don’t want 5000 copies in memory if you only need 12 copies to handle the load.
The sysops “tune” the server by setting a minimum and maximum number of servers, and the number of spare servers. If there are a few spare servers when a request comes in, the page can be immediately served, so they try to have enough spare servers, whatever that turns out to be. If there are 200 maximum servers, and 201 requests come in, then request 201 will be unable to connect, so that’s usually set pretty high.
When you run “top”, you will see something like
Tasks: 731 total, 1 running, 729 sleeping, 0 stopped, 1 zombie
The processes that are “sleeping” are using virtually no CPU cycles, and very little RAM. “Zombie” processes are ones that have finished doing whatever they were doing, and are in the process of being exorcized from the system.
Apache is a very versatile server, capable of doing many things, and consequently, it takes a lot of server resources. If you had a server just serving static files, such as images, you could get more performance by using a streamlined server, but most users want the ability to have password protection, server-side includes, .htaccess functions, PHP, the ability to run CGI, etc., so Apache is used for about twice as many domains as all other servers combined.