what does bursted , guaranteed RAM means in VPS?

Never, ever bet on Burstable RAM though. Guaranteed RAM is always available to you, burstable RAM may or may not be. Depending on it may cause wierd side-effects, depending on your luck.
 
Never, ever bet on Burstable RAM though. Guaranteed RAM is always available to you, burstable RAM may or may not be. Depending on it may cause wierd side-effects, depending on your luck.

This is very true! I had the eco plan with godaddy and it came with 256 mb guaranteed and 1 gb of "burst". My sites don't get that much traffic at all, but I still found that my apache and mysql was constantly crashing every other night.

Lesson learned, never rely on something that doesn't exist. As far as i'm now concerned, "burst" memory is in the same league as "unlimited" bandwidth - just another marketing gimmick.
 
The other problem is what is meant by RAM

I recently ran the OpenVZ script that generates a configuration based on 1/nth of the host. I was a little shocked to see how much memory it was giving to each guest, and then I realised that it wasn't dividing up physical memory, but the combination of physical memory and swap space.

I certainly don't think that this is appropriate, and I am now a little concerned about what OpenVZ providers mean exactly when they offer plans with ???MB of RAM. As a client, if I was allocated a certain amount of "memory" only to find it swapping in and out all the time I would be very annoyed. As a hosting provider I wonder if, by doing what I consider to be the right thing, I am left competing on an uneven field.

In the worst case you could be getting guaranteed RAM that is prone to swapping, and burst RAM that is never available.

I chose to provide guaranteed RAM that there is enough physical memory for, and burst RAM that there is typically enough physical memory for, and certainly enough swap for. By typically, I mean normal operation, only in the event of one host dying (and thus its sibling node taking on both sets of guests while we effect repairs) would all the physical memory be taken up by the alloted guaranteed RAM.

This way everyone can allocate all the way up to the burst all of the time, but it might get a little swappy in an emergency situation.

So unfortunately, in answer to the original question, I would have to say that guaranteed RAM and burst RAM don't by themselves mean a thing. The rest of the story depends on how much of that is real memory, how much can be swap, and by how much both real memory and swap are oversubscribed in different scenarios. If you are considering a hosting company that isn't comfortable with divulging that information it could be a bad sign.
 
You make a good point Blueroomhosting.

Unfortunately, I believe that the only way to prove whether you're receiving real RAM or swap is to have the VPS up and running to monitor the resource usage. So basically, you still need to consider guaranteed RAM as the only 'sort of real' resource.

If I remember correctly, even without the virtualization sofware combining swap and RAM, a host can 'oversell' memory and storage during the creation of VPS's, so until you start using the VPS, you'll never really know for sure what your guaranteed resources are.

As the technology matures, it's becoming very much like shared accounts with regard to both price and resources. While VPS's are much more isolated, host machines can be over sold or be slowed by a runaway script running on a separate VPS which causes the entire host to slow or crash.
 
OpenVZ has settings to limit every aspect of a runaway VPS.

It can limit memory, burst memory, disk usage, disk io speed, cpu access and cpu %.

But how these things are configured and sold is the determinant for performance. Some companies oversell and your server does end up in swap land, slowing everything down.

Swap is done by the kernel and is not restricted by the cpu or io limit numbers that otherwise apply if you were writing a file in your VPS for example.

Burst memory if properly configured and properly used will save you a lot of money. The problem is some people treat it like guaranteed memory, expecting apache or mysql to be able to use it 24/7. Thats insanity.

Burst memory is intended for temporary usage, such as compiling a program or updating your system. You don't want to run a business in burst memory!

Get a VPS thats big enough to hold apache, php and mysql functions under load, and use that burst for when you're setting it up or updating.

More descriptions of VPS terminology: http://www.vpsville.ca/terms
 
Last edited:
Burstable memory might be a scam, and the same goes for guaranteed memory too, after all you are only guaranteed that you can allocate it, not that it won't be constantly swapping.

Because OpenVZ does not guarantee where any memory resides, the only issue at stake is performance. If a system is stretched too far it will start swapping and performance will suffer. A simple way to avoid this is to have a combined guaranteed ram lower than the installed memory and no burst, but this has its own problem.

Processes typically allocate more memory than they use, the unused memory doesn't take any system resources, but it does reduce from the pool of potential memory available. Just like a reservation at a restaurant, once the booking has been made the slot can't be given to anyone else, but the table is only used later. If you look at /proc/user_beancounters privvmpages shows you how much memory you have allocated, and oomguarpages shows how much of that is actually being used and thus taking up any resources on the system, there is typically quite a large difference between the two.

On a dedicated system this isn't a problem because of swap, you can allocate all of ram+swap and depending on your usage you might just be making the most the most of your ram, there is no swappiness incurred if processes are just being inefficient. Java VMs are notorious for allocating 500MB of memory just to run a program that only uses 40MB at peak.

With OpenVZ there is no swap, so this is the role of burst, without it someone will probably only be able to use 70% of the memory they are paying for. That is very unhelpful and they will need a bigger plan than they should as a result. With a little burst they can probably use all their memory. If their actual used memory is monitored and kept in check then everyone gets a better deal and all without affecting performance.

So in summary, only rely on guaranteed memory, but if you aren't offered any burst you won't be able to use all your guaranteed - so make sure you have some. Check your user_beancounters to make sure you never actually use it (oomguarpages maxheld should be under the limit) and you will be fine.

If you find the server doesn't perform well that is a separate issue, if your hosting provider doesn't keep an eye on performance get a new one.

Jim
 
Back
Top