Misbehaving Comment Relish Plugin

Today, I left a comment on Nate Whitehill’s blog for his post about what a header image says about you. A few minute after the comment I get this email from Nate.

Hi John Chow,

Thanks for taking the time to visit my blog. I hope you found some good information about business, blog, and web development If you did, please consider subscribing to my RSS feed (http://feeds.feedburner.com/NateWhitehill).

Let me know if you have any questions. I look forward to seeing you around the blogosphere. Take care!

Nate Whitehill

My first impression upon receiving the email was, “OK, this is a plugin.” I emailed Nate back and asked him about it. He replied back saying the email was from a WordPress plugin call Comment Relish.

Comment relish is a WordPress plugin developed to send an e-mail message to users who comment on your website who have never commented before. The message dispatched to the user is defined within the plugin’s preferences. Numerous tags have been integrated to allow for information to be included in the message easily (I.E.: timestamp, author name, comment, ETC.).

Comment Relish sounds like a great plugin. However, there is one major flaw in it. The plugin goes through your comment database to find out if the reader have ever made a comment on your blog. If not, then it send the thank you email. This isn’t a problem when you only have a 100 comments or so. However, if your blog has 42,000 comments (like this one does) the plugin will consume all the server’s resources trying to find out if you have commented before. The instant I turned on the plugin, it crashed the MySQL database and maxed out the server load to 100! This was why this blog was unavailable for the last hour. We thought we were under a MySQL DOS attack.

Sending a thank you email to first time commentator is a great idea and I would have loved to use Comment Relish to do that. However, if your blog has a lot of comments, I don’t recommend using it unless you want to experience a big time server crash.