Shared Hosting vs VPS Hosting | How Do I Choose?
When looking for a place to host your website there are many options but the most common starting point is a virtual private server (VPS) or Shared hosting plan. This is primarily due to the starting price and high value that you get for the money.
After narrowing it down to these two types of plans, the next logical questions are “What’s the difference?” and “How do I choose a plan?” In this guide, we will explain the ten main differences between a VPS and a Shared hosting plan then go over the five questions to ask yourself when deciding. Finally, we’ll do a load test comparison to show you how they perform during benchmark tests.
10 Differences Between VPS and Shared Hosting
1. VPS has Dedicated Resources Allocated
As we stated above, with a VPS you will get dedicated assets that are available only to your account. Here are some examples of the resources that are included with VPS plans:
- Virtual CPU’s (vCPU)
- NVMe SSD’s
This results in better performance for your site and faster load times. In some cases, Shared hosting accounts can be punished or throttled for causing problems for other users on the server. This can result in worse performance or possibly a forced upgrade to keep functioning.
2. Shared Has Limited Access to the Server
Since Shared servers host many websites, there are limitations to how much access you have to the environment. For example, on a Shared server, you would not be able to modify your cPanel limitations or install custom firewall rules, since they are managed by the system administrators. This would not be a problem if you are looking for an easy hosting platform to use and don’t want to customize the software across the entire server.
VPS plans allow you to have root access, which is the highest level of user access to the server. Once logged in as a root user, you can access and modify any software aspect of the server via the WebHost Manager (WHM) or SSH.
3. You Can Create Multiple cPanel Accounts on VPS
With a Shared plan, you get a single cPanel account that can be used to host several websites or subdomains. But some VPS plans include the ability to create multiple cPanel accounts using the Web Host Manager (WHM). This can be a helpful tool when you are managing several websites and want to keep them separated.
For example, if you are a web developer and host three websites for three different clients, you can keep them in their own different cPanel accounts. This allows them to access cPanel without seeing the other sites that you are hosting or managing.
4. You can Manage/Customize your own Security Policy on a VPS
If you’re interested in creating a custom security policy and firewall rules, for example, a VPS is the only option for you. This is due to the security rules on Shared hosting being managed by the System Administrators.
Here are a few specific examples of the type of security options that you can install or modify:
While some of the above options may be available on a Shared plan, your ability to customize them would be limited since it can affect other users.
While the price of a VPS plan has come down, a Shared hosting platform will be cheaper. This is due to the number of people that are sharing the server’s resources, resulting in more users splitting the cost.
6. With Shared You Don’t Need a System Administrator
Since a Shared hosting environment is fully managed by the host’s system administrators, there is no need for you to manage the environment. This can be a positive since it is one less thing for you to worry about. For example, if an aspect of your account is not functioning as it should such as a service going down, you can simply reach out to their live support team to replicate and correct the issue.
7. VPS is Better for eCommerce
While it’s possible to host an online store on a Shared hosting environment, it is recommended to use a VPS. This ensures you have the ability to handle a large spike in traffic for a sale or promotion and also allows you to customize your security policy to fit your specific needs.
A VPS is also very highly scalable, meaning that it can be easily upgraded if necessary to support a large influx in traffic. For example, if you are planning a large holiday sale, you can upgrade to a stronger VPS temporarily and then downgrade back to your original plan once the rush is over. This ensures you are able to handle the large influx of traffic and that your visitors have the best possible experience. Since nothing scares potential customers away faster than a slow website.
8. You can Manage Your Own Mail Server on VPS
With Shared hosting your mail server setup and reputation are managed by a team of system administrators. This is convenient if you just want a typical mail configuration, but keep in mind that other users that are sharing your server can negatively affect the mail server’s IP. While this is usually fixed quickly, emails that you send can end up flagged as spam by the recipient server’s filters.
With a VPS plan, it will typically include a Dedicated IP address. This means that you are the only one using that address and any issues would be caused by your account alone. If email is a critical part of your website or business, this is an important consideration.
9. You Can Install Custom Server Software on VPS
Since a Shared hosting plan is pre-configured and optimized to work for most websites, you are limited from changing software that will modify the server environment. But with root access on a VPS, you can modify or install any software package you want.
For example, if you want to replace MySQL with Percona DB, this can be done via SSH. Here are some examples of other custom server software that you can install on a VPS:
- Ruby on Rails
- Virtual Private Network (VPN)
- Varnish Caching
Keep in mind that if you don’t feel comfortable setting up new software, many options can be installed with a subscription to InMotion’s Managed Hosting Service.
10. Advanced Support With Some VPS Plans
Some of the VPS plans offered will include limited access to an advanced Tech Support team. These high-level administrators are prepared to help you with tasks such as the following:
- Migrate Sites
- Increase Security
- Optimize Databases
- Site Optimization
- Increase Security
- Custom Server Configurations
Pros/Cons of Shared
- Great for smaller sites or basic business sites
- Servers is Managed by Your Host’s System Administrators
- Your Host Manages the Mail Server’s Reputation
- Sharing Resources
- Can be affected by other sites
- Can’t customize the security policy
- Limited access to server
Pros/Cons of VPS
- Dedicated Resources
- Better for larger business or eCommerce site
- Root access to Server
- Can create multiple cPanels
- Can Install Your own OS
- Higher Price Tag
- May have to Manage your own server
- Have to Monitor Mail Server Reputation
How do I choose? 5 Questions to Ask Yourself
1. How Much Do I want to Spend?
One of the biggest factors when deciding on a hosting plan is how much you want to spend. A Shared Hosting plan will be cheaper than a VPS. But keep in mind when planning your budget that a VPS will be more feature-rich, scalable, and better for medium to large businesses.
2. Do I Want to Manage My Own Server?
For basic websites or small businesses, a Shared hosting plan is a good starting point. But if you are interested in managing your own server, or want to set up custom configurations, a VPS is a better option.
A VPS includes features such as root access allowing you to make any modification you need, such as custom security and software installations. You don’t have to worry about being affected by other websites on the server and can also manage your own email reputation and dedicated IP address.
3. How Quickly Will My Website Grow?
The next question you need to ask yourself is how quickly you plan on your website growing. A VPS can be easily upgraded or even temporarily upgraded, so it is considered easily scalable. Essentially, it is just a matter of allocating more resources to your account.
Keep in mind that a Shared hosting plan can still be upgraded at any time, but it is more of a process as it typically requires you to be migrated to a new server location.
4. Does My Site Use a Lot of Resources?
An important step when deciding how to choose between a VPS vs Shared is determining how many resources your website uses, or will use in the future. Other things to think about are: How much bandwidth does your site use? How much disk space does my site use? Also, if your site is coded in a way that causes heavy load or you receive a large influx of traffic, a VPS is recommended since it would be able to handle it better.
You can also use a load testing tool to determine how much stress your site causes on the server, and see if it can handle it. This data will help you decide if you have outgrown your hosting plan and can benefit from an upgrade. Here is a helpful guide:
5. Do I Need WHM Access?
WebHost Manager, also known as WHM is a tool that is only available on a VPS account. There you can manage many aspects of your hosting account, and have access to EasyApache which helps you quickly install or upgrade server software. This also includes many features such as the ability to create multiple cPanel accounts which is useful for web developers. You also have the ability to update the interface branding with your own logos and resell hosting plans.
Load Test Comparison
Now that you know the differences between Shared vs VPS, we will perform a load test of the same site, on each platform. We will be using ApacheBench to help you compare the amount of time it takes to respond to 500 requests.
While performing a load test, we will also monitor the average load every second, and run the htop command to show you general server information such as the load average and CPU usage.
We will first go over the results of the load test on the Shared hosting account.
Shared htop Results
When you see the results of running the htop command, will notice the following:
The load average is 31.33.
It’s using 50.5GB out of 126GB of memory.
A large percentage of the CPU is being used.
Shared ApacheBench Test Results
During the ApacheBench test on a Shared server, we sent 500 requests for a website and it took 414.21 seconds for the test to complete. This is an average of 1.21 requests per second.
Next, we made a copy of the same site on a VPS and performed the same test, below are the results.
VPS htop Results
When you review you the results of the top test on the VPS hosted site, you will notice the following:
The load average is very low at 0.18.
It’s using 816MB out of 32GB of memory.
A tiny percentage of the CPU is being used.
VPS ApacheBench Test Results
During the ApacheBench test on a VPS, we again sent 500 requests for the website and it took 87.31 seconds for the test to complete, which is 327 seconds faster than the Shared server results. This is an average of 5.73 requests per second, which is 4.5 more requests per second on average than the website on the Shared hosting.
We also used the following script to log the uptime of the server once every second and generate a graph.
watch -n 1 “uptime >> wp.log”
Notice how the load on the VPS is so low during the test that it barely shows up on the combined comparison graph.
When you look at the results of the website hosted on a Shared account, you see the usage peaks just over 32.17.
When you look at the usage during testing for the VPS, you see it maxes out at 0.29 which is very low. This means the VPS was able to handle this load test without any major spike in resource usage.
You should now be familiar with the ten main differences between a VPS vs a Shared hosting plan and know the five questions to ask yourself when deciding. Hopefully, you can use this information to better determine the right plan for your website.