Calculate Capacity by Demand or by Allocation?

‘Out of the Box’, vCenter Operations Manager is set to consider both Demand and Allocation when calculating it’s Capacity badges and metrics.  This can often confuse folks as, in many cases, their dashboards will show that they are ‘out of capacity’ when they know the are not.  Here is a good example:


It’s fairly simple to understand why this happens if you consider the two models in play:

Demand – this is a measure of how much resource IS being demanded

Allocation – a measure of how much resource COULD be demanded

So, for example, if you are thin-provisioning disk you can see how the amount of capacity you have will vary massively depending on whether you use a Demand or Allocation model.  Imagine you have 4TB of disk space and you give each of your 100x VMs 100GB of thin provisioned disk but they only use on average 20GB each.

With a Demand based model vCenter Operations will report (and trend!) back the amount of disk you are actually using is 2TB and you are effectively using 50% of Capacity.  An Allocation based model will report you are using 10TB (well that is what you have allocated!) and you will be over capacity by 150% !!

Should I choose a Demand or Allocation model?

Well, that entirely depends!  If you are just starting out with vCenter Operations Manager I always say to start with a Demand based model.  My view is that in this new world of Cloud Management and Automation we should always start with where we want to be and modify things as needed to cope with our legacy systems/principles/policies rather than introduce inefficiencies across the board.

So, start with a Demand model and use allocation where you need to.  Maybe use an Allocation model for Business Critical clusters or perhaps you take a view that you won’t overcommit Memory so you set that dimension as an Allocation model.  When using an Allocation you can also add in an element of overcommit in vCenter Operations if needs be so it’s not a completely ‘either/or’

How do I change to a Demand based model?

This is all handled by the Policy options in vCenter Operations.  Select Configuration | Manage Policies to see the policies in effect.  Out of the box there will only be the ‘Default Policy’.  I usually recommend to change section 3a ‘Capacity and Time Remaining’ from Demand and Allocation:

Demand and Allocation Capacity

to Demand only: (simply uncheck the Allocation tick boxes)

Demand Capacity

One thing to be aware of here – the Capacity Badges will not change immediately.  They are recalculated overnight – you can see the impact of your changes immediately by clicking on the badges as the Capacity reports and dashboards behind them will change and be recalculated immediately as you make changes to policies.  Here is what my dashboard looks like after the changes have been made and the badges recalculated:

Demand model

Much better!

As you get more experienced using vCenter Operations Manager you will start creating new policies for specific areas of your estate.  Perhaps using an Allocation model as described earlier for your more Business Critical Applications or for resources you want to have a more direct input into overcommit for a subset of VMs such as memory.

I went for a Demand based model – how can I be sure I won’t run out of Capacity?

This is a common objection from folks!  Capacity management is a key operational management discipline and has a direct impact on system performance and availability so it is no surprise folks want to maintain control!

Don’t worry – the whole point of vCenter Operations is to give you the visibility you need into your infrastructure and to automate many of the things you do on a day to day basis.  vCenter Operations will monitor capacity at every level and will alert you in good time if you are going to run out.

Example – in the above case with thin-provisioning with a Demand based model you are running at 50% capacity.  It’s likely that as your VMs operate and consume data and as you add VMs that this number will creep up.   The alerts in vCenter Operations will tell you well ahead of the game (and you can customise yourself how ahead of the game) if you are starting to approach a point where you need to either slow down deployments or deploy more storage.

Read more about tuning your capacity models on this blog:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s