Limitations of VPS Hosting
Limitations of a VPS
Although VPS hosting might seem like the perfect solution for you if you want the ability to have and administrate your own dedicated server, but don’t have the necessary funds to pay for a dedicated server and that your budget will not stretch much further than what a top level shared website hosting package; however, VPS hosting does have limitations which differentiates them from dedicated servers, and if you don’t take the necessary steps to ensure that your VPS doesn’t reach reach these limitations you could end up having your VPS temporarily shut down because its affecting the performance of other VPS which are hosted on the same node as you. In the case that the software which your hosting provider uses to virtualize their servers to ensure that they are able to host multiple VPS doesn’t automatically close your VPS down for the over usage, you might find that processes which are being run within your VPS are being killed off instead; in most cases the process within your VPS which is the resource hogger will be shut down, meaning that the rest of your VPS will carry on running as normal.
Many people go for VPS since they seem to think that they are just a virtual version of a regular dedicated server meaning that there aren’t any virtual limitations - in the end these people often find that the applications which they want to host on their VPS server are too resource intensive meaning that the programs which are being used to run them, for example in the case of a website this would be Apache, is being killed off to ensure that the performance of other VPS servers which are hosted on the same node is not being affected. If a VPS starts to take up too much of a certain resource, and exceeds the limitations without having any processes killed off or being shut down itself, then it can easily take down the host node on which it resides meaning that it can easily take down the rest of the VPS that are hosted on the same node as it; something like this would result in the suspension of the VPS concerned, and might even lead to the hosting company asking the customer concerned to leave or terminating their contract since otherwise it could leave the Web hosting company with more unhappy customers than happy ones, and nearly any business would rather have pleased and satisfied customers rather than ones which are threatening to leave since they are not happy with the level of uptime that they have received - in other words the hosting company concerned would rather keep 10 customers and lose 1 rather than keep 1 customer and lose, the 1 customer being the one who has taken down the hosting node, and the 10 customers being the others who are hosted on the same node as him.
In some cases, hosting companies restrict you as to what software you are allowed to install your VPS, since some programs are able to interfere with the performance of other VPS servers who are hosted on the same node as the one on which the program concerned is installed; in most cases, this is only because of the virtualization program which your web host uses to ensure that they can easily split a physical server up into many VPS, since most web hosts do allow you to install any programs of your choice on your VPS meaning that you can use it for almost anything that you want to - if you do happen to be with a web host that does limit you on the programs that you are allowed to install on your VPS server, then you should move to another web host that does allow you to install any programs that you want to within your VPS hosting environment.
The fact that some resources of VPS are limited means that they are somewhat different to a dedicated server, not only in the way that they run but in the way that they manage their resources as well; for example certain commands on Linux VPS return the details wanted of the actual host node, and not those of the VPS server meaning that you might have to learn some VPS specific commands to ensure that you can get the information that you need from your VPS.
CPU Sharing
One of the main resources of the host node which has to be shared amongst all the VPS which the host nodes is the CPU - this is what the VPS will use to run their processes effectively; the one thing with the CPU of a host node to note is that in most cases it isn’t even shared between all the VPS, meaning that any VPS on the node can use as much of it as it wants - however, the virtualization software used by the hosting company will in most cases shut down a VPS or kill a hogging process after it has started to use a certain amount of the CPU and is starting to affect the performance of other VPS that are hosted on the same node. Every program which is hosted on any VPS will be using a small amount of the host nodes CPU, or some of the CPU which has been individually assigned to your VPS for your use only, some programs and applications use more CPU than others; CPU intensive applications tend to be ones which are used and accessed more regularly, and you will find applications which have to do a lot of processing such as the Apache web server can easily become CPU intensive applications.
At the end of the day, it is your responsibility to ensure that programs and applications which you have installed within your VPS are not taking up too much CPU, since if you use too much of the host node’s CPU then your VPS will most likely be automatically shut down, and if too much of the CPU which has been individually assigned to your VPS gets used then you will find that your CPU will just automatically crash without any prior warning. Depending on the virtualization software which your web host uses, you will find that you either have to share the main CPU of the host node with the other VPS servers that are hosted on the same server as you, or if you are on a higher end server or VPS hosting package then you might find that you have a certain amount of the CPU assigned directly to your VPS meaning that it will always be available for your use; the second CPU scenario is perfect for you if you are planning to hosts CPU intensive applications within your VPS since it means that you are able to do so without interrupting the performance of other VPS which are hosted on the same server as you - the first scenario is fine for you if you are planning to just use your VPS for testing applications of some sort, since it means that you can easily get a large amount of CPU for a second or so when you might need it.
If you happen to be on a VPS hosting package in the scenario where the CPU is not evenly split between all the VPS hosted on the node and that all the hosted VPS can use as much of it as they want (unless they happen to get shut down after a certain amount of usage) then you might find that the node on which you are hosted can be easily bought down by either your VPS or the others which are hosted on the same server as you; this is because if a VPS on the same node as you or your VPS start to use CPU intensive applications which are driving the CPU crazy, you will find that the server will just crash after a certain amount of time because there is just no CPU left for it to use. If you find that the node on which you are hosted is starting to go down at regular intervals because a certain VPS on the same node has started to use too much CPU, then you should consider asking your host to move you to another VPS node to ensure that you are no longer affected, but if you want ultimate assurance that you won’t be affected again then you should consider moving to another web host who provides a VPS hosting package similar to the one which you are currently on.
RAM
In most cases, RAM is individually assigned to each VPS hosted on a node - this RAM is known as guaranteed RAM since it will always be available for use by your VPS, and not by any other VPS which may be hosted on the same node as you; most VPS packages also come with ‘burst’ RAM, which is additional RAM which your VPS can use for a certain amount of time if it happens to go over its guaranteed RAM limit - burst RAM is available for use by all the VPS which are hosted on the same node as you, meaning that there might not be burst RAM available for you when you need it. RAM is used by programs which are hosted within VPS environments to temporarily store data to allow the program concerned to operate as quickly and as efficiently as possible - as it goes, the more RAM that you have available for your VPS, the more programs that you are able to run at one time; this means that if you want to host many different applications on the same VPS, then you should consider a higher level package since this will mean that you can easily achieve this without affecting the performance of the other VPS which are hosted on the same node as yours is, but you should note that if you do happen to need to reach into your burst RAM at times then you should consider purchasing a second VPS so that you can take a certain for certain uses since you might find your VPS crashing if it happens to run out of RAM.
In some cases, web hosts allow you to purchase more guaranteed RAM that you can then use for your VPS server since most hosting nodes have a lot of spare RAM both for use as burstable RAM and so that the RAM of VPS currently hosted can be easily expanded - for example most modern hosting nodes have between 12 and 32GB of RAM, meaning that there is more than enough extra RAM for you to purchase; this means that you won’t have to purchase an extra VPS for those extra services, which can save you a lot of money - one thing to note is that web hosts which don’t allow you to increase your share in particular resources will allow you to upgrade your existing VPS to the next highest plan - in some cases this can be cheaper than buying extra of certain resources and also means that you will have increased the amount that you have of other resources.
The only time when you will need extra RAM is when you want to increase the usage of your VPS, or if you are looking to install other programs on it so that you can make more use of it; this is because more use will mean that there are more programs that will need to store there data temporarily somewhere, which means that you will have to beef up the amount of RAM which you have - you will also notice a general performance increase if you beef up the amount of RAM which you have, since existing applications will have more space in which they can store their temporary date, and your VPS will happily run along without the need for the use of burst RAM. Like many resources, RAM is a limited resource because the amount that you are able to assign to your VPS is limited by the amount which is physically installed within the hosting node chassis, as well as by the amount which has been taken up by the other VPS which are hosted on the same VPS hosting node as you; this means that you should be careful as to what programs you use on your VPS since if you use too RAM intensive applications then you might just find your VPS crashing every so often, which is not something that you want or need.
Conclusion
In conclusion, when compared to dedicated servers, the resources that VPS servers come with are very limited meaning that you should be careful as to which programs and applications you install on your VPS server; this is because if you install applications which are too resource intensive, you will find that your VPS will crash or will be automatically shut down by the VPS daemon software to ensure that your VPS does not start to affect the performance of other VPS which are hosted on the same node as you are.
CPU and RAM are precious resources when it comes to VPS hosting since they are limited ones which means that you should be very careful as to how you use them, since CPU is one resource which you can’t expand on unless you replace it physically within the host node, and RAM is a resource which is limited by the physical amount which your web host has installed within the host node; this means that if you do need to increase your CPU share or the amount of RAM that you have then you may be asked to upgrade your VPS hosting package or to even move to a dedicated server since your requests for resources are becoming unmeetable because of the other VPS which are hosting on the same server.
Another limited resource assigned to VPS servers is bandwidth - bandwidth is the amount of data that can pass between your website or server and the client computers which happen to visit it, normally during an assigned time frame which in most cases is a month, although this can vary to a year in some cases; the price of bandwidth is one which is ever increasing meaning that you should try and keep down on the amount of it that you use - this can be helped by using low graphics web pages and if you don’t need that many people to, then try and minimize the number of visitors which you receive to your website is you don’t have the money to fork out on extra bandwidth if you happen to go over your limit.


Bob said,
April 8, 2008 @ 2:16 pm
Good post about VPS, I have one question: Does Apache software running on the server can impose limit the number of coexisting users?