I am experiencing intermittent, very odd jumps in server load that generally end in server being unavailable. Server runs a pretty high traffic website on Wordpress, Apache, MySQL. There is a plugin(hypercache) installed that minimizes mysql usage by caching full pages. However, everytime spike in load happens, mysql eventually becomes unavailable. Load average jumps from 2 to 30-40 during that time and apache seems to be handling a lot of requests(I've seen in the log file message about MaxClients being reached).
My question is this: how do I know if this is legitimate traffic or if it's a DoS attack? If it's DoS how do I determine what type of attack it is and protect myself against it?
Server runs FreeBSD 7, Apache 2.2, MySQL 5.1