You may recall when we first got setup, we were using Namecheap, and things were great. Well, after a while, we started having issues with their managed WordPress service, EasyWP. After we had suffered enough outages with them, we moved to Dreamhost on the recommendation of Big Guy Damien. You may remember the Big Guy New Digs post where I documented this process. While Dreamhost does have a nice interface and comes in somewhere in the middle on price, we have had way too many issues with them.
When I signed up with them, I went with their shared hosting option because the site really didn’t need a lot of resources at the time, and I figured we could always scale up or migrate off to a Virtual Private Server (VPS) in the future if we needed to. Boy, did I find out the hard way that this was a pipe dream. This post is less about bashing Dreamhost, and more about discussing how shared hosting works, why shared hosting is bad, and what you can do if you are caught up in a bad shared server situation. They are probably a great company, and we may just be an edge case, but I wanted to put this out there in case others start getting as frustrated as I did.
How Shared Hosting Works
If you’re reading this, you probably landed here while doing research on the topic, maybe you are curious to know how shared hosting works, or maybe you are having similar issues. For those who may not know, shared hosting is where a provider, like Dreamhost, takes one server (more likely a lot of servers), and they put multiple users on the machine. Now, these servers aren’t your normal machine running one, maybe multi-core, CPU with a bit of RAM. From what I recall, the server I was on had 8 or 16 cores and several hundred gigs of RAM, so the server was a beast. Honestly, most websites, especially blogs just starting out, do not require a fraction of the resources that a server like this will use anyway.
The Pitch: What Shared Hosting Plans Offer
After they build out that enterprise-class server, they start loading it up with users who need to host their digital things on the internet. Most hosting providers have a shared hosting option and offer similar packages. Using Dreamhost as an example, they make the following claims on their shared hosting package. When you “set your website up for success with shared hosting” through Dreamhost, you will enjoy a speedy, scalable, simple, and secure experience. One which comes with “Unlimited Websites”, WordPress Pre-installs, Top Flight Tech Support, and Incredibly fast SSD Hosting among other things. You can get all of this for as low as $7.95 a month if you pay for three years up front (which we did).
The Reality: What Shared Hosting Providers Do with These Huge Hosting Servers
The web hosting market is pretty saturated. Just go Google it yourself, and you will find a plethora of companies offering similar services, so it is probably pretty hard to make good money off of doing this now. What ends up happening is the provider over-allocates the servers they run. The server I was on had probably 50+ users on it, and I believe it had just as many virtual network interfaces/IPs. Each of the server’s IPs was also hosting several sites. Using Bing search for a reverse IP lookup (which is about the only thing Bing is good for) provides 3400 results for the IP that the Big Guy on Stuff site was running on until yesterday. All of these results are not individual sites, but just skimming through the pages, I have counted 18 unique domains.
Why Shared Hosting is Bad
You have probably already pieced this together by now, but let’s get into why shared hosting is bad. The sales folks have done a good job letting us know how it “should” work, and honestly, how awesome would it be if it did work that way? We would have way less waste because servers would be utilized to the fullest, and everyone on the server would receive top-notch hosting.
Unfortunately, the shine starts wearing off as soon as you get going on your new shared server. The problems started out slow as Big Guy on Stuff was ramping up. Occasionally I would notice that some of my pages were showing browser errors (400 and 500 errors for those who know HTML error codes). I would poke around, and eventually the problem would go away. I would find out that Dreamhost has a watchdog script running that tries to police the shared environment which kills off user processes that are abusing the system resources.
This watchdog process, we’ll call him Sheriff Daemon, sounded great. It was going to make sure that all of the parties on the shared host were playing within the limits. The only problem is, Daemon started killing off Big Guy on Stuff processes for supposedly using too much RAM. Now, our user base here at Big Guy on Stuff has been growing every month, but we have nowhere near the amount of traffic that would use its fair share of resources on that server. I also noticed along the way that the server’s CPU load kept spiking.
Th CPU load is a number that the server reports out as how busy it’s CPU is. This number is somewhat complex, but it mostly boils down to a percentage of CPU usages times the number of cores you have. So, if you have a single core CPU, a load of 1.0 is actually bad as that processor is being heavily utilized. I mentioned earlier that the server had 8 or 16 cores. During some of our “events”, I would see the CPU load spike up to 80+ which is way too high. During these times, the site was slow, and I could hardly even login to the server back-end myself.
Top Flight Tech Support
So, this section is probably the only part of this post where it may get a little rough for Dreamhost. I’m sure a lot of companies have this same problem though. They claim that they have “Top Flight Tech Support”. Every time I opened a ticket with them, they always pointed me to articles on the internet on how to reduce the number of plugins that my WordPress site was using. I optimized the site so much over the last couple of months just trying to please Sheriff Daemon to no avail. Time and time again, I would open a case, and time and time again they would say that Daemon killed off my processes for “using too much RAM”.
Well, how much RAM am I able to use so that maybe I can adjust the system to play within the bounds of the law. Oh, they can’t tell you this because it is proprietary and would cause a security issue. OK. So, you provide this “unlimited” service, you got Sheriff Daemon out there protecting the digital citizens, but the law he enforces is not published. I opened many, many tickets on this and the CPU load issue. They never really addressed the CPU load issue or acknowledged that it might have been way oversubscribed. One time they said they “removed the offending user”, and a time or two they owned up to a server issue. Even worse, I felt like all they were trying to do with shared hosting was trying to bully people in to upgrading to their VPS service as every time I had an issue, that was ALWAYS suggested that I may need to go to VPS.
In conclusion: Shared Hosting. Don’t Do It!
Unless you are really just running a site that has a couple pages that never change, with no back-end database and no user engagement, I would recommend to stay away from shared hosting. It sounds fantastic, and the price is a little easier on the wallet, but the problems that come with it are not worth your time. I recommend doing some research on VPS providers so that you at least “virtually” have your own system. After my research, and on another recommendation from a friend, I landed on Digitalocean for the new Big Guy on Stuff home. I’ll write more on the experience I’ve had with Digitalocean after I’ve been up and running for a while. Right off the bat, I will say that the experience I’ve had as a network/server administrator for 13 years has helped out tremendously in the move as they are not quite as “easy button” as Dreamhost, but the experience has been amazing so far. The site is more responsive than it ever has been. Oh yeah, and the system resources are barely being utilized, as I suspected. Take that Sheriff Daemon.
Call to Action
Have any of you folks had similar experiences? I’d love to hear about it in the comments. Or, drop me a line via the contact form. I still have stickers to give out!