(this post will also appear in the dedicated servers blog. The post here has some content which is pertinent to VPS only)
The terms oversubscription and contention are often heard when it comes to providing services as an ISP, for example regarding CPU resources, memory, bandwidth, etc. Generally speaking, it means selling/providing services or advertising them to more people than there are effective simultaneous resources available. Let us look at bandwidth, an often cited example, first:
Let us assume your VPS is on a Gig link to the host, and that there are 3 more guest systems on the same physical host, also with their own Gig link to the host, but the host only having a single GigE connection to its switch. In that case, we have a contention ratio of 4:1 since we have 4 VPS with Gig links, but only one effective Gig uplink to the outside world available. Here, oversubscription is rarely an issue – a typical VPS going at a sustained gbps isn’t feasible and would be better sold as a dedicated machine anyway, so such rates are only seen during spikes, with the other VPS rarely competing for the available host bandwidth. This example continues from the host to the switch it is connected to – how many other physical interfaces there are that are competing with the respective uplink. A trivial contention ratio here might be 8:1, 16:1, 24:1, or similar – i.e. your typical GigE switch with a gbps fibre uplink has to serve 8, 16, or 24 machines that, in theory, could also use the entire bandwidth of 1 gbps available. Here it is already trickier to judge whether contention might be an issue – a customer with rather evenly shaped traffic curves is more predictable than a customer seeing a lot of spikes during the day, spikes that can take valuable bandwidth away from other customers.
How do ISPs do it? Most ISPs accept contention ratios based on the traffic they see on the switches, routers, throughout the entire backbone. This is a legit practice, and as long as it doesn’t handicap one group of users against another, no one will probably see that is in effect being done at all. Some ISPs sell bandwidth at dumping prices, fully aware that their traffic/cost/revenue model is anything from risky to shady – when you encounter a bandwidth deal that sounds too good to be true, it probably is – like anything in life. Traffic cost patterns have evolved in various regions of the globe, and comparing several providers on a single continent or within a large geographic region (US, UK, continental Europe, etc.) can help you a lot to find out the truth behind the myths of “unlimited traffic” – it also helps asking questions such as “unlimited traffic – I have a website generating 100TB of traffic each month – still unlimited?”. Often the smallprint of providers will tell you things like “irregular use is due to caps”, “bandwidth in excess of…is subject to approval/surcharge”, etc. Make sure you get your ISP to give you the facts straight, ask until you are sure that what you need and want is going to be provided without hidden costs.
How do we do it? In terms of bandwidth, we have a contention ratio of 1:1. Yes, that’s correct. Bandwidth we sell is dedicated, and we make sure that you won’t share it with any other customer even in case all of them are requesting their share at the very same moment. This model has its disadvantage: our traffic is more expensive than oversubscribed traffic. The advantage: you get what you pay for, no matter what, no hidden costs, no caps.
What then, about memory. Often, for virtual private server setups, you will read guaranteed vs. burstable RAM. This clearly speaks of contention already. Frankly speaking, it means that you can use excess resources only when there are any left and not being required by other customer on the same host system. You have to be very careful here, imagine the following:
You run a website in a LAMP environment that, on average, uses around 2GB of RAM. Twice a day, however, you are doing updates, ads, anything, and the machine then requires 3.5GB of RAM for an hour each – your VPS contract states 3GB of RAM guaranteed, burstable to 4GB (often only displaying the burstable RAM in the system itself). Now if during your high traffic time you request the additional 1.5GB of RAM, you are only guaranteed 1GB – you will only get the remaining 512MB if and only if no one else is needing them and the host has free resources available. If you do not get them, your customers will see the site being down, broken, or throwing errors. Again, make sure to ask the right questions from your ISP: ask about contention ratio, reserves, general customer profile you share the host with, and ask a lot of what if’s.
How do we do it? We guarantee RAM, for us, guaranteed RAM is burstable RAM as well. No difference. Again, this means our prices are slightly higher than your run of the mill VPS. But the advantage is that you can lean back and relax without having to worry about memory or lack of resources. For us, it is simply not feasible to put your business at risk – we want you to succeed, therefore we want you to have all resources available you pay for, at any time, without any smallprint.