Posted in Life
A Tale of Two Hosting Providers
Them what wants not to hear about techie stuff should tl&dr now. This blog post is about my saga choosing a hosting provider.
You have been warned. 🙂
In February David and I realized that the ancient Rackspace slice he had was not going to cut it for supporting my “Jennigma” blog after my friend Deb Robson who has a much more popular blog linked off to me and crashed the box. No slight to Rackspace- David set up that slice in 2003 or so. Ten years old is beyond crufty for a server these days; it’s practically a fossil. So I set about looking for a company to host my WordPress site.
Let me start by saying I’ve got to be one of the worst possible customers for any of these guys. I was a network admin for a long, long time, and then a tech PM at Comcast who, among other things, managed the project to launch the first Comcast CDN. But I’ve been out of the game for long enough that I’m not up on the technical details. I don’t happen to have a friend who’s in the know in this industry about who’s good and who’s bad, so I was left to the mercy of provider propaganda, comparison websites and blog posts.
I don’t want to manage a server any more, ever again. I consider all the hard drives in the house to be scratch; all my content is either backed up off-site or in permanent residence on services like Smugmug.com and Dropbox.com. A couple life changing losses of data in my past have made me quite paranoid. Plus, I consider myself to be retired form the network admin/system admin gig. Been there, done that, dun wanna. My goal is to never use a root password again. It’s a bad day when I have to fire up terminal on my laptop. I want to be in the content creation business, not the infrastructure business. There are plenty of people happily doing the latter, and I’m thrilled to give them my money so I don’t have to manage the details any more. All I ask is that it work reasonably well, and nothing gets lost.
The market is … confusing, to say the least. There are good reviews and bad reviews about every provider. Something I discovered almost right out the gate is that people who review hosting providers get kick-backs from any sales that come through their referral link.
I don’t promise I won’t be taking money for this review in the future so you *may* be hitting an affiliate link when you read this, but as of this writing I haven’t received a dime. I’m just a paying customer who’s a little more enlightened than the average schmo about how all this crap works under the covers, and how to evaluate a technical operation.
Back to the story. 🙂
I spent my free time for a couple days researching, and in the end punted. I more or less flipped a coin between Bluehost.com and DreamHost.com, since they were who WordPress recommended. I figured while they might not be the *best* choice, at least they wouldn’t be *bad* choices. I wish I could find my notes from the decision making process so I could re-examine them; I know at one point I was going to go with Bluehost, but then something changed my mind. Probably some review somewhere, or maybe I decided they were essentially identical and went with cheaper. Dunno. At any rate, I chose poorly. I went with DreamHost.
I’ve set up a few WordPress installs; I think I started running a wordpress blog in, er, 2002? Something on that order. The admin interface was a bit slow, but WordPress is never speedy. Lots of clicks and waiting for the database to be updated and the new page built. click. snooze. click. snooze. click. Like that. even when I was running a beefy linux box on my home network hosting my blog it wasn’t what I would call fast. I didn’t think much of it.
I got my first surprise when I realized they didn’t offer backups. At all. I somehow had missed that in my evaluations. I installed a plug-in to save back-ups on my Dropbox, was vaguely irritated, and moved on. Sub-optimal, but tolerable.
I got the blog up and it still wasn’t as fast to load pages as I would have liked, so I switched to a super lightweight theme and that took page loads down to under a second. I did a little load testing, declared it good enough, and set about creating content.
I had a few tech support squabbles around billing; because I started with a trial I had to pay for my domain registration, and then when the trial ended they didn’t deduct the domain price (which was supposed to be included) from the full price of the service. They were slow to respond to tickets so I ended up calling them *on the phone* which is never a good sign. Got it sorted out, but I was definitely not thrilled with the service level. It was cheap, though, and seemed to be working.
In April I got the bright idea for Hack Your Clothes! and set up an additional WP instance. I wanted a bit more of a tricked out theme on HYC, and had a hard time with performance, but seemed to get it to a tolerable state.
In June we set up a static site with about five pages on my server for the new iOS ap development project my partner David and I are doing at FrobnotzSoftware.com, so now I was hosting three sites, two WordPress and one static.
Summer happened. I was focussed on stuff in the material world, not the interwebz. The blogs languished.
At the beginning of September I got an email from my friend Amy Cao @ Fiftythree.com concerned that Hack Your Clothes was down and worried that I had dropped the project. I was disturbed. I tried to get to the site and got a 503 error instead. That was wrong. I tried to get to Jennigma, and it was also not responding. I didn’t have time to look at it immediately, but filed it in the “later soon” bucket.
A couple days later I tried again, and got in. I logged into the admin console and everything looked ok. I started researching blog performance and tuned everything I could over the next couple weeks, and was still getting 30s – 5 minute page loads on extremely lightweight blogs that were not seeing any appreciable traffic.
Finally on Sept 21 I was at my wits’ end, and called in David to help me. I assumed I had somehow been hacked or something, because I couldn’t believe my two sites were really using all the resources Dreamhost had allocated for me.
He couldn’t find any issues, so reached out to customer support via chat. He got a one line response from the guy that it must be a problem on our end because it looked fine to him and the guy idled out on the chat session without ever answering follow-up questions. David began poking at the site some more, but still couldn’t find any obvious issues. We logged an official ticket on Sunday night, 9/22. They advertise a 24 hr turnaround on tickets, so we went to bed grumpy and awaiting a response.
In the morning we got a non-response:
I apologize for the delay and for the inconvenience. Looking into this for you I see that there is a higher than normal load on your server. I have contacted our Admins and they are now looking into this for you. If you do not see any improvement in the next hour or two, please write us back and we will take another look. 🙂
Ok. I waited. Two hours. No change. I wrote back:
The site is still extraordinarily slow. This has been an issue for at least a week, I just didn’t have a chance to troubleshoot earlier. How soon should I expect this to resolve?
And I started researching. I found several folks complaining that since the recent WordPress major version revision (3.6) Dreamhost had been unreasonably slow, and they hadn’t been responsive about fixing the issue. I started researching other hosting providers.
Got this response:
I apologize for the inconvenience and for the delay. Looking into this for you I see that the load has been brought down to a better load than it was before. I restarted the Apache service for good measure and see that site was still loading slow. I looked a bit deeper and see that while you have caching installed it is not active. Please properly activate it and you should see your site performance improve. I would also remove any and non-essential plugins that are not mission critical.
If you should have any further questions, please feel free to message us
Ooops, had left the caching off on Hack Your Clothes in some round of the troubleshooting. Responded:
The active plug-ins are all essential, and the site was working reasonably well with these caching settings several weeks ago. I haven’t done anything to it since mid August, but was alerted by a reader that they couldn’t get access to the site.
This is an extremely low traffic site at this time. There is no reason the performance should be so poor.
Then turned caching back on, saw no performance improvement, and went on researching. I also posted this to my twitter stream:
I need recommendations for better site hosting. @DreamHost is not cutting it. I’ve been bickering with tech support since last night. Ideas?
http://hackyourclothes.com is taking 60s – 5m to load, and the @DreamHost techs have admitted to server issues, but want me to turn off plugins.
A couple hours later when I checked in the server was even slower, and I got a 503 on the admin page. Sent another email that reflected my growing annoyance:
The server is now throwing errors when I try to get to the admin page:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, firstname.lastname@example.org and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
The server logs are showing “Premature end of script headers” for some of the wordpress PHP pages.
This is your issue, not my issue. Please fix it. I’m starting to shop for other hosting.
No response from @Dreamhost or tech support, but Jonathan Grieg recommended Bluehost or Digitalocean.com. The latter does virtual private servers only, which doesn’t meet my needs. Both @Digitalocean and @Bluehost responded almost immediately to Jonathan’s tweet, as did a bunch of other twitter trolls. If I were looking for a VPS I would definitely consider DigitalOcean, it’s just not what I want right now.
I had a bunch of friends whose business was interrupted over the summer when Bluehost had a day of downtime, so I was initially not considering them. I looked at a bunch of reviews and other hosting providers, but I’m not going to mention them here since I don’t really know anything about them except what I read on the internet.
What ensued was a long exchange of messages with @Bluehost and @Bluehostsupport, which I won’t copy here; follow the link if you want to read. Suffice to say I pushed them because of the downtime, but they were friendly and responsive. In the end I got an extremely detailed email from one of their engineers telling me excruciating details of the outage, why it happened, and what they’re doing about it. He even told me about an earlier outage I wasn’t aware of, and what they were doing to mitigate that as well. I was impressed.
I’ve been in tech a long time. Outages happen. As long as they are infrequent and quickly remedied I don’t hold them against companies. We talk about “four 9’s” and “five 9’s” in the tech world but that’s really just BS. Stuff happens in tech or we wouldn’t get so defensive about uptime in the first place. What matters is how it gets resolved. All I ask for is respectful and open communication.
At 5:30 I got this email from Dreamhost:
I’ve checked into why you’ve been seeing slowness/timeouts, and it seems your scripts have been getting automatically killed by our Process Watcher script due to your sites going over Memory limits on the shared server: I would highly recommend that you follow the steps in the following wiki article in order to reduce your usage:
Also, please be aware that just because one site is showing errors, it isn’t necessarily the problematic one (of the sites that are on your same FTP/shell user). For instance, if Site A is using 90% of your allotted memory usage, and then Site B attempts to use an additional 15%, Site B will be 5% over and will get it’s script killed. I’d also recommend looking into any 3rd party plugins you may be running, especially if you happen to be running WordPress installs as they can be notoriously poor at memory management. These may help out: http://wiki.dreamhost.com/Poor_performance http://wiki.dreamhost.com/WordPress_Optimization
Lastly, you may want to look into Dreamhost VPS, as you will be able to raise your memory limits to whatever limit you’d like: http://dreamhost.com/servers/vps/ If you have any questions on the specifics, please feel free to reply and ask. Bringing down your memory usage would obviously be ideal in your situation, but we would be happy to upgrade you as well, if desired! Just let us know.
So, deconstructing this, Dreamhost is telling me they don’t give me enough resources to run two small WP sites, even though the account limits allow up to 5 instances. But they’d be HAPPY! to sell sell sell if I want to shell out $$$ for more space. Uhm, no. I responded:
What are my memory limits? What is reasonable memory performance for wordpress installs?
I’m running two wordpress installs and a static site: hackyourclothes.com, jennigma.net, and frobnotzsoftware.com. HYC reports ~30Mb usage with all plug-ins off, and ~45Mb with my current configuration. jennigma is similar at 25/41 Mb for all off/current config. frobnotz is a static site with 5 or so pages; I have to assume its memory footprint is in the noise.
>These numbers seem reasonable to me. Am I missing something? Are your limits seriously that low?
When I thought a little more about the outage I had known about, I realized not one of my friends had seen it as a reason to change providers. I had expressed sympathies and condolences to several, and they defended Bluehost. If I recall correctly they had received emails informing them of the outage while it was in progress, rather than discovering their sites down unexpectedly. That coupled with the rapid and detailed responses I was getting from Bluehost won me over.
At 9pm on 9/23, about 24 hrs after I logged the ticket complaining my sites were effectively down, David and I had the following exchange in IM:
In the morning I bought a Bluehost subscription. I chatted with pre-sales about making sure I was buying the right size package to have a pleasant experience. I explicitly asked if I should get their “Pro” package, and was told no, that would be a waste of money for me at this time. High contrast with Dreamhost already!
I began configuring the site, and had many chat conversations and a phone exchange with the Bluehost folks, all of which were delightful.
Tuesday night at 9pm, more than a day after the last exchange with Dreamhost, I received the following:
I’m very sorry about this. The limit was lower than it should have been set. I just ran a config to update this for you. If you notice any further disruptions let us know and we’ll check your logs again. I’m sorry to say we cannot disclose the exact limits, but they are higher than 50MB.
I checked, and my servers were still non responsive. Whatever the tech did it didn’t help. I wrote back that I was moving to Bluehost. Instead of questions about why I was leaving or how they could make things right I received a canned response with account shutdown instructions. Don’t let the door hit you in the ass on the way out, dear customer. Yeah, thanks.
Meanwhile, David and I borked the first attempt to move the WordPress installs. Neither of us are WordPress heroes, so we ended up with corrupted databases. I logged a ticket asking them to reset them to clean installs and went to bed. When I woke up I was looking forward to some morning puttering, but there was an email waiting saying the ticket was closed and the clean servers were ready for me to setup. So I did.
Instead of the attempt to move things I started from scratch configuring the new instances on Bluehost to match the old ones on Dreamhost. This was when the difference REALLY became apparent. I started by uploading all the content (the easy part!) and installing all of the same plug-ins and themes, putting the servers under identical loads. I then had to walk through all the configuration screens to make them match. I would push a button on Dreamhost, knit a round on a sock (I kid you not! a minute at least, and frequent 503’s!) then when Dreamhost FINALLY refreshed I’d push the same button on Bluehost, the page would load in under a second, and I would flip switches and type in #color codes and do whatever and sundry to make them match, then push another button on Dreamhost and knit another round.
It was excruciating.
I started at 7am, and was still configuring at 6:30 pm when David came home.
Finally it was done, though. I contacted Bluehost tech support, we did configuration and DNS witchery to point the world at the new sites, and I’m now ready to say buh-bye to Dreamhost. Things have been humming along for a day and a half now. I’ve got all my clients switched over to the new installs, and have exercised all my posting tools, and tweaked and poked at things until I’m fairly content. It’s much more pleasurable to tune up a WordPress install when it responds immediately to my clicks. 🙂
In summary, Bluehost isn’t perfect, but they’re awfully good. They really seem to care about making things right. They are consistently cheerful and responsive, which is a hard thing to maintain in a big customer support organization. They make me want to take a trip to Provo, UT with a plate of brownies. I love hiking in the hills near Provo, actually; I have several fond memories of visiting. Perhaps on my next trip I’ll say thanks in person.
Dreamhost, on the other hand, at least as of this writing is horrid. run away, run far away.