Apparently some of you had the doubtful pleasure of seeing my directory index between 4 and 5:30 pm yesterday. Apparently I set their server on fire by (check this out) flushing the WP-Cache to see the small tweaks in the css style sheet. I made a small change, flushed the chache, refreshed the page, fixed it, flushed, refreshed and etc. So for like 20 minutes the site was mostly un-cached. Then the shit hit the fan and I got locked out of my own fucking blog only to find this in my mailbox:
Hello Lukasz,
I apologize for the interruption, but I have had to temporarily disable your site. Unfortunately, this was causing a huge load on the machine:
popcorn: 01:21 PM# uptime
13:21:58 up 78 days, 21:26, 8 users, load average: 96.58, 73.29, 53.76
After disabling this, the load dropped significantly:
popcorn: 01:22 PM# uptime
13:25:32 up 78 days, 21:30, 8 users, load average: 29.25, 51.65, 49.33
You probably need to enabling caching for this blog or disable any extraneous plugins before re-enabling it. You can check out more about it here: http://wiki.dreamhost.com/WordPress_Troubleshooting
Thanks!
I know that you get what you pay for, but I was not really happy about them just rendering my website inaccessible without:
- Letting me know there is a problem, and allowing me to fix it
- Telling me how to restore my website to usable condition again
Fortunately all they did was to rename index.php to disabled_index.php so I was able to quickly get it back online. I also tried to comply with their whiny demands and made Caching much more aggressive. Let me know if you notice any weirdness on the page - especially stuff like CAPTCHA’s not working properly.
Here is my reply to them - note that I was a tad pissed off when I wrote this. In retrospect perhaps I was a bit harsh on them. What do you think:
First, how to I enable my site back? I’m getting emails, my readers are not happy and I’m losing advertising revenue. It would be nice if I got some instructions on how to do it. I’m guessing I just rename disabled_index.php back to index.php? Thanks for telling me that though.
Second, all I’m running on my account is a basic Wordpress account with couple of plugins - chiefly WP-Cache, Akismet, and Bad Behaviour which aim to reduce the system load, and prevent spam. Two out of these were specifically listed on the troubleshooting site you linked to in your email. There is really not much else there.
You want to know what I was doing in the last few hours? I was tweaking my .css stylesheet and I cleared the cache few times to see the results. Could something as minor as that be the reason of such a huge spike? I will refrain from doing this in the future, but geez!
I haven’t added any plugins in the last 6 months. I haven’t changed the theme. I haven’t run any scripts. All I do on that account is blog. There is really nothing there that would be out of ordinary - just Wordpress installed via the one-click install from the panel. The only changes I really did to it in the past 6 months were small css tweaks.
Third, over the last year or so, I frequently witnessed the system load on popcorn to spike up way above 200. Some of my readers joke around that the site often takes up to 3 minutes to fully load during peak activity hours. Why is that? Is Wordpress really such a resource hog? Do I really get this many hits per second? I really doubt it. There is no way for me to control how much traffic do I get. I’m really not running some crazy scripts in there - it is just a fairly standard Wordpress install with a default theme. I can mess around with it a bit and try to switch off plugins but I really don’t think that will reduce the load of this website that much - I mean there is not much to disable there.
Really, I understand that it is hard to run a shared hosting company. I was always with you guys. I have been always very tolerant, and a loyal customer. I even recommended you to some of my friends despite the apparent flaws. I dealt with the regular downtimes, and I didn’t really say anything when you guys accidentally charged me over $200 for the next 3 years of hosting few months back. It happens. But disabling my website for undisclosed time period on a whim without giving me any prior notice and any possible chance to fix the issue before the website goes down is just pushing it. It’s unprofessional, and very disappointing. I’m hurt, I’m angry and I’m annoyed. Perhaps it is time for me to start looking for a new home.
If you see an activity spike on popcorn later today it might be because I’m backing up all my files and preparing to move to a new host.
So please tell me, what am I supposed to do here? What can you offer me? I’m not really interested in running a website composed from static HTML pages - I actually do want to use Wordpress and I do want to keep runing Akismet and other anti-spam plugins which keep it clean. I don’t really want to spend hours, hacking Wordpress and trying to figure out how to optimize the plugins that I use. I just don’t have time for that. And I definitely want more people visit my website - not less.
So what are my options? Will my blog get disabled every time there is a traffic spike? I mean, what if (God forbid) one of my posts ends up on a front page of Digg tomorrow? I’m not saying it will but it happened before, and I hope it will happen again. What then? Will popcorn spontaneously burst into flames?
Why should I stay with dreamhost?
I’m not a happy customer right now.
Was I out of line? I really think I will need to find a new host soon. I know I say it all the time, but stuff like this might just be the thing that will push me to finally do it. So this is once again time to pimp your host. Who do you use? What are their prices? What plans do they offer? How is their support like?
Update - it seems that I actually got a relatively knowledgeable and thoughtful response:
Hi Lukasz,
I’m the resident WordPress nerd around these parts and I can understand how upset you could be. Still, your site was causing undue strain on the server. I don’t think it has anythig to do with clearing out WP-Cache tho. I do notice that you are running Bad Behavior as an anti-spam plugin. Normally. that’s okay - but for whatever reason Bad Behavior and our system don’t seem to play nice with one another when a site is being hit by a spam attack. That very well could have been what was happening here - but as I wasn’t the one who disabled you, I can’t tell.
I run the WordPress blogs on our here (blog.dreamhost.com and dreamhoststatus.com) and I’d be happy to give you a few pointers to keep things lean and mean. First up, you’re doing the right thing by running WP-Cache. Unfortunately, the programmer isn’t actively updating that plugin anymore. The successor to that plugin is currently WP-Super-Cache. More info about it can be found here:
http://wordpress.org/extend/plugins/wp-super-cache/
As for spam fighting plugins, sticking with Akismet is good - but using WP-SpamFree in place of Bad Behavior is a bit kinder on CPU cycles. We use this as the one-two punch on our blog and the spam that Akismet has
to process has gone down considerably. Check it out when you have a moment:
http://wordpress.org/extend/plugins/wp-spamfree/
Turning that on and getting rid of Bad Behavior will actually take your overall memory usage down quite a bit, so please try that out and let me know how it goes.
Also, I’ve poked around your database and have noticed that the table for Top Post By Category has eaten up 111.6 MB of your database. That’s more than 3/4 of your total MySQL database size right there. If you are no
longer using that plugin, it might be a good idea to clear that category out. In fact, it’d probably be best to stop using it as that will help speed things up as far as page generation goes.
If you’re curious as to why you should stay with us, hopefully the observations I’ve offered you on how to make your site run a bit better in our environment will make a convincing argument. Most companies would leave the ball in your court when it comes to optimization - but I honestly want you to get all the traffic you can. Outside of the WP blogs here, I have my own sites (hosted here) and I know the feeling of folks outside of your immediate social circle checking out what you’re doing. It’s pretty nice.
Anyhow, try my suggestions out if you’d like and please go ahead and let me know if you have any further questions. I’ll be more than happy to help you out in whatever way possible if you do.
The nice thing about Dreamhost - one of their few redeeming factors is that their support staff is usually quick to respond and usually knowledgeable and helpful. Well, with the exception of that tool who renamed my index.php and didn’t tell me about it that is. My past interactions with them were very positive. Can’t hurt to try his suggestions for now. The top posts plugin is gonzo for now! I liked having it in the sidebar, but I did not realize how database intensive it was. Oh well, good riddance. I will try to switch over to wp-super-cache and wp-spamfree over the weekend which may or may not speed up the site a bit. We shall see.