Earlier this month, an article I wrote on Ghosting Windows XP for Free found its way to the front page of digg.com nearly a year after I wrote it. The ensuing spike in traffic caused my web host (1and1) to move my site temporarily to a new server. Naturally, I received an e-mail from them stating that my account was “seriously threatening the resources of the shared server” and that I should consider purchasing an expensive dedicated server. Furthermore, they informed me that if I decline the dedicated server offer, the next time a traffic spike occurs I MUST either purchase the dedicated server or find hosting elsewhere. Sheesh.
Now, this is not an attack on 1and1. Until this incident I’ve had nary a problem with them. While I do not like being forced into a decision, I certainly cannot blame them for trying to protect their resources and the other accounts on their server. While I have moved my current domain to another host, I still have other domains hosted with 1and1.
So, what is the big deal here? Supposedly, even my “beginner” package is supposed to handle 250 gigabytes of traffic a month. Surely I was not saturating that much bandwidth, as my site has hardly any media. While the “digg” effect sucked up several gigabytes, 1and1 locked my account long before I reached the allotted 250 gigs.
Herein lies the problem with shared hosting packages from any hosting company, not just 1and1. Their sales pitch sounds stellar. Many hosts easily boast of fifty gigabytes of storage space or more, with bandwidth stretching into the terabytes, all for less than $10 a month. Many offer “unlimited” subdomains and SQL databases, which of course is unfeasible. What they decline to tell you is that the ONLY way you will be able to harness these resources is with static HTML pages and large, static file downloads.
The problem here is that most web sites no longer function in this late-90s manner. Most sites are dynamic, and include processor-intensive scripts and databases. Hosting a Content Management System (CMS), a forum, or a blog in a shared-hosting environment is fine provided that only a few users at a time are accessing the data, but a sudden surge in traffic can cause even a single WordPress installation to consume “excessive” resources in the eyes of a shared host.
Of course, none of this information is new, and I’m certainly not trying to take credit for it. Web hosts know it. Clients with popular sites know it. Casual site owners who are at the wrong end of a good “slashdotting” or “digging” painfully find out about it. If you have a shared hosting plan, you will not find out about it until it is too late. Those oodles of storage space and bandwidth promised by your host are in reality a pipe dream. Chances are that you will overload your allotted CPU time long before you approach the bandwidth limits. Sadly, this simple fact is only exacerbated since many hosts “oversell” their shared plans in the first place.
While every shared host will giddily advertise how much space and bandwidth they offer, not one that I’ve found even mentions how much CPU time one can consume. In my hunt for a new host, I decided to largely ignore the boasts of bandwidth and try to determine just how busy a given server generally is. Since most hosts offer a live “demo” account, I checked the server load in each of these demo accounts. Now, my plan is not flawless because a web host can have many servers, but I hoped this would give me a general idea of average server load. A conservative estimate is that a server should not remain above one full point for each processor/core. Several popular hosts that I checked were around this vicinity, but one not-to-be-named host had a dual-processor server that averaged between 18-20 points at the time I checked. I decided not to go with that one. 🙂
Here are sample stats from two anonymous web hosts:
(Host 1)
(Host 2)
The moral of this story is that shared hosting is only good because it’s cheap. Sometimes, you get what you pay for. What, then, are better options for people who “outgrow” their shared hosting packages?
Naturally, one can choose to personally host a web site. Do you have Cable/DSL? Do you have an old computer lying around? If so, running a server can be a satisfying experience. It can also be frustrating, especially if your connection is flaky. Also, the “upstream” speeds for most popular broadband plans are significantly lower than the “downstream” speeds. Dealing with a dynamic IP address can be like chasing a rabbit as well, though there is software to overcome this obstacle. Many people successfully run sites from their home computers, but most choose to give that duty to someone else.
With that in mind, one could jump straight to a dedicated server. Most hosts would be gleefully happy for a user to migrate from a shared to a dedicated plan. Of course, this comes at a hefty price, usually exceeding $100 a month. Price aside, all the CPU time belongs to you. If you *really* need it, a dedicated server is great, but it’s overkill for people like myself. Before the “digg” effect I received 50-60 hits per day. Now that the effect is winding down, I’m receiving about 300-500 hits per day. For me, a dedicated server is like dropping an atomic bomb on an anthill.
Another option is for a Virtual Private Server (VPS). Quite simply, this is the process of using virtualization techniques to divide a single server into multiple environments. Using software such as OpenVZ, Virtuozzo, Xen, or VMware, one can run multiple copies of “virtual” operating systems with a pre-defined amount of dedicated hard disk space, RAM, and even processor usage. For instance, a host might offer five gigabytes of space, 128 MB of guaranteed RAM, and your choice of operating system. With VPS hosting comes more power and customization as well. With a VPS plan, one usually gets root access, a dedicated IP address, and the ability to install and customize software. Because of the independent nature of VPS hosting, no one user can monopolize resources. If one user’s site on a VPS is getting blasted by Slashdot, no one else is affected. Each user is guaranteed a slice of the server “pie.”
Naturally, VPS hosting is more expensive than shared hosting, even though the offered space and bandwidth are usually (and falsely) more generous for shared accounts. Honestly, I’m still on a shared plan, simply because I’m still investigating VPS offers. I plan to migrate most/all of my sites to a VPS by the end of the year. While my articles may not get tons of traffic, at least I’ll be more prepared in case of a sudden onslaught.
Before the sudden bombardment of traffic, I knew very little about the various types of web hosting. The needlessly bloated space and bandwidth numbers on my shared package gave me a false sense of confidence. Little did I know that those inflated numbers are hardly achievable if one’s site has any dynamic content. My lesson has been learned, and I hope this article is useful to someone.
If you notice, aside from listing my current host at the beginning, I have not named any other hosting companies. It is not my plan to advertise for any web host, but rather to inform the reader of various types of web hosting out there. Let the buyer decide which is appropriate for his/her needs.
— Brian Bondari
October 2006