This resulted in lots and lots of people not being able to get to our site. Why? Well, two reasons.
Generally I’ve got two plugins installed to help cope with the digg effect when and if it occurs. The first is WP-Cache – a handy plugin that creates a static cache of ArsGeek and each individual article on request. I’ve set it to retain this static image for 5 minutes before regenerating. This means that after the first hit on the site or an article, the mySQL database doesn’t get throttled generating new page requests.
Next I’ve got Digg Defender all set up. This plugin notes when hits are coming from various sites (notably in this case Digg) and redirects the incoming request from ArsGeek to a mirror site. People can still read and reach the article, but aren’t bringing ArsGeek down with more traffic.
Here’s what went wrong. There was a permissions error (that was somehow introduced since the last time we were dugg) with WP-Cache causing it to just plain not work. Ouch. So each request coming in to our server to view the article resulted in fresh database queries, causing MySQL to quickly overload the server I was on. Without access to MySQL I couldn’t solve problem #2, which was:
Digg-Defender wasn’t turned on. Big ouch on my part. I don’t generally turn this on unless I can see that I’m getting the Digg effect. Why? Because the mirror site is generally much, much slower than our site, and doesn’t update things like new comments and whatnot. We’ve got enough general traffic coming from Digg that I don’t want everyone ending up on a slow, horribly out of date page. Without access to MySQL, which was bombing out, I couldn’t access WordPress’s control panel to enable Digg Defender so that I could figure out what was wrong with WP-Cache in the first place.
Usually with WP-Cache on and working properly I have time to react. This time, not so much. So there’s how not to survive the Digg effect.