The most common questions we field on our sales desk and live chat is “how much <insert resource> do I need on my VPS?”
The answer is always – “it depends.”
Nobody really likes to hear that answer, but tough luck. It’s the truth.
Selecting a plan that is sized appropriately for your needs is critical. Too small, and your VPS can crash, too large, and you’re throwing money down the drain.
To us, every single website and use case is unique to the customer. So we spend a lot of time making sure that new clients are ideally matched with the suitable plan for their needs.
In this post, we’ll talk about determining your VPS needs so that you have enough power, and so that you can avoid wasting money on unnecessary resources.
RAM Memory is one of the most critical components of your server.
Too little memory and your applications will crash, your system will become unresponsive, go into swap, and your server will go down.
This results in downtime, a reboot, and additional downtime as usually, the cycle will repeat itself over and over again.
Our general guidelines for RAM:
A typical webhosting server, with cPanel, Plesk, or ISPconfig, running MySQL, Apache/LiteSpeed, Mail, Statistics, a monitoring script, firewall, webmails, and a set of 20-30 domains with low to intermedia traffic, will require 2GB RAM as a bare minimum. See 2GB RAM VPS plans here.
The same type of VPS, with 30-60 domains, with intermediate to medium traffic, will require 4GB RAM in order to provide 100% stability and consistent performance even during traffic spikes.
Most customers with a moderate load, and at least 15-20 clients connecting to the server each with their own domains, cPanel logons, and set of mail accounts, will benefit significantly from a 4GB RAM VPS.
Every user who visits your website results in processes being spawned. Each time you or your clients check their mail via your mail client, this also results in memory being allocated.
So if you have traffic spikes where thousands of people are trying to see your website(s) at the same time, 8GB memory can be consumed in just seconds. Looking for an 8GB RAM VPS perhaps?
32GB RAM +
If memory consumption scales over 16GB for PHP processes and MySQL processes, then you’ll definitely want to invest in caching.
Heavy websites must be cached externally, this means outside the application itself. So no, WP caching plugins that you paid $59 for will not be enough.
It’s at this point where you should start considering CDN, clustering, and possibly also the simplest solution which is simply spreading your load across more servers.
The number of cores that you will need within your server is directly related to the types of loads you plan to run on your server.
Some loads will work well with 2 cores, while other heavier tasks will require 4 or even more cores in order to run well.
Most applications used in typical servers do scale very well with an increasing number of cores.
For example, a heavy MySQL database server can absolutely make use of 4, 6, 8, or more cores. The same applies to heavy Mail servers and Tomcat/Java applications.
The web services that are most likely to benefit from an increased number of cores would be Webservers – whether it’s Apache, NGINX, or Tomcat more cores immediately translate into more performance under load.
A typical desktop 3.5” SATA desktop disk can deliver up to 100-120 IOPS – in server type tasks. A high quality Hitachi Ultrastar 15K600 15K SAS disk on the other hand, can deliver as many as 400 IOPS in server tasks, while a modern SSD disk can easily delivery 10,000 IOPS or more.
Every VPS product EuroVPS sells, is able to deliver at least 10,000 IOPS consistently, on an 80/20 read/write profile with 4KB block size, easily satisfying the I/O demands of even the heaviest MySQL database intensive websites.
It’s essential to select an SSD VPS that provides sustainably high disk performance, not only with sequential reads/writes, but also for random read/write and mixed load patterns (sequential & random R/W at once).
For example, IOmeter benchmarks show that the “All-in-one” test with 16 workers delivers a shocking 40,000 I/O operations per second. This is a server series designed for users who absolutely require “SSD everywhere they are,” including their hosted properties. Pure SSD servers are significantly faster than rotational drives.
Disk storage consumption looks like a hockey stick when plotted on a chart.
It is THE most oversold type of infrastructure as a service on the planet. Think about DropBox, Google, and other large IT behemoths who profit off of overselling storage capacity.
So in order to separate truth from fiction, here are the numbers that we’re seeing from our clients:
- 65% of customers use less than 30GB disk space
- 80% of customers use less than 100GB disk space
- 95% of customers use less than 1TB
So when you are thinking about how much disk space you need, the first thing you need to do is assess how much disk space you’re currently consuming. Either check it from your cPanel/Plesk interface or directly from the command line. Then add onto that a realistic estimate for how much you think you’ll grow within the next 12 months.
Data Transfer or Bandwidth, is a quantitative measurement of the total bits transferred in and out of your VPS.
It’s important to calculate how much bandwidth your websites will require before purchasing a VPS hosting plan in order to avoid overuse charges.
How to Calculate Bandwidth Requirements:
Calculating your core bandwidth requirements is a formula of three key variables (Although there are more considerations such as whether you will use CDN or Caching).
- Page Size = A
- Average Pages per Visit = B
- Average Visitors per Day = C
Here’s an example:
- Page Size ± = 1.8MB
- Average Page views per Session: 5.97
- Average Sessions per Day: 1,500
Bandwidth Consumption per Day: 16,119MB (16GB)
Bandwidth Consumption per Month: 16GB x 30 Days = 480GB
Have any questions?
We hope this post was useful for you! If at any time you’d like reach out for more information we’re happy to talk RAM, CPU, and IOPS with you. You can either contact us here or leave us a comment below!