VPS hosting corresponds to renting or buying an apartment or condo. This articles builds on the web hosting comparison article. VPS hosting is still shared hosting, but there is more isolation and finer control over how you use the resources that are available to you. These plans generally range from $20 to$200, depending on how many resources you want. While many hosting companies suggest this is the next upgrade to shared hosting, that may not be the best option, as you’ll see.
What they tell you
VPS will offer several things that you don’t get with shared hosting. In general these include more direct access to manipulate the software and settings of the server, more isolation from other processes running on the shared machine and fewer sites sharing a given server. If your eyes started to glaze over, don’t worry. It will all make sense in a minute, but what might trouble you is the way that the hosting companies translate this for you.
Many hosting companies suggest that “upgrading” to a VPS will be like having your own server, including having more, guaranteed resources. That’s partly true, but it doesn’t hold true when you have a large traffic spike.
Think about it like this. If you decide to throw a party for your friends, you’ll have much more control over where furniture goes, what to eat, watch, play, how much noise to make, etc. in your own apartment or condo. The problem is that once you fill up your apartment, there’s no more room (no where to spill over). If 100 people show up, then some of them just aren’t going to fit.
A case where shared hosting beats VPS
In my last article about share hosting, I explain that a single machine is shared between many users. In some cases a few hundred. It seems reasonable then to assume that a VPS machine which is shared by fewer users would give you more resources.
The big difference is that in a shared environment, even though it’s shared by more users, each one of you have access to all of the CPUs (processors). That means if there’s a spike in traffic you can use all of the processors in a short burst. A lower end VPS typically provides only one CPU which will reduce the burst capacity. This is similar to the way that a hotel can accommodate many more people than a condo, but there are more restrictive rules that apply in the hotel.
So the most typical resource limitation in a VPS is access to the CPU, which can be especially problematic if you have a high traffic site that’s CPU intensive. Since the starting ($20/month) plans give you one (1) virtual processor, all of your traffic has to go through that one processor. Memory size is also fixed for a VPS and once it’s gone it’s gone. This is different than a shared plan where everyone has access to multiple processors and the memory is typically determined by page load and pulls from a much larger pool.
Another misconception is that the servers are perfectly isolated. In fact they’re not. They are virtually isolated. That means you may still be sharing processor cycles with another VPS. This can lead to your site becoming slow due to high load by another VPS user on the same system. While resources are more isolated, they still interact, just like an apartment building where each unit is connected and they all share public parking spaces.
In my experience, traffic spikes can actually cause more damage to a VPS than a shared hosting environment, since the requests stack up so quickly and the resources available are fixed and generally smaller than on the shared plans.
Good uses for VPS hosting
There are some times when getting a VPS makes a lot of sense. These include the need for a custom server environment, or more stringent security requirements for the data your managing. You might also find a VPS a terrific testing environment for new server configurations and new software. $20/month is a lot cheaper than buying a new physical server. In other words, you want a VPS when your traffic is going to be spread out and you need more control over the server environment.
When it might not make sense to choose shared hosting
- You’re hosting mainstream software that doesn’t require any special configuration on the server (WordPress, for example)
- You have traffic spikes where many people are coming to your site in a short period of time
- You’re not very computer savvy and don’t want to manage your own server
I should mention that the idea of a VPS tends to be a popular choice among a lot of the more techie web developers. That might be due to the fact that they get to tinker with the server or they think isolation is preferable to fully shared resources.
If your ‘web guy‘ suggests a VPS I recommend you ask yourself the questions that came up in this post. How much traffic do you get? Do you really need a custom server environment? Do you need isolation of data and other resources? While shared hosting has more rigid rules to follow, in some ways it can accommodate moderate traffic spikes better than a VPS.
If a VPS isn’t the right fit, you can try to move over to a shared hosting plan or upgrade to a dedicated server. In the next article I’ll discuss dedicated server hosting.