You might want to install nginx in front of your Apache server (or even instead of) to serve your static content, as it can easily handle > 1000 parallel connections. If you have lots of images to serve, nginx or lighttpd are ideal, while Apache is one of the worst webservers to handle this load. It definitely has its uses, but being robust and serving lots of small files isn't one of them
Also, it's easy to take down by a bad person, as you already found out. Even if you limit MaxClients to 20, someone can just use a tool like slowloris and DoS your server.

That's not possible with one of the newer webservers like nginx, lighttpd or Cherokee.