1 Reply Latest reply on Sep 26, 2017 10:21 PM by LucD

    Capacity Management  - Getting performance by the hour

    andliy Novice

      Hi All,

       

      I was just wondering if there's a way to look at the cluster performance by the hour and organise VMs accordingly to reduce resource contention.

       

      Our environment is quite stable and our VMs are only busy during a certain period once a day, other times they're not busy. We have DRS but that only looks at a point in time so it doesn't reflect the most efficient allocation.

       

      We also don't want to look at the ESX average performance because if 2 VMs are hitting 100% CPU at different times (e.g. VM1 100%CPU @1-2am, VM2 100%CPU @2-3am), the average from 1-3am is still 100% but it actually is not an issue.

       

      Was thinking of doing something like:

      1. Get-Stat -Entity ($ALLVMs) -Start (Get-Date).AddHours(-1) -Finish (Get-Date) -MaxSamples 10 -stat (cpu/mem/net/io).usage.average

      2. Collect the data for a week or two

      3. Organise the VMs according to the data collected

       

      Does this make sense? or there's an easier way or existing tool to do this?

      Or we can run DRS every hour and look at the recommendation?

       

      Andrew

        • 1. Re: Capacity Management  - Getting performance by the hour
          LucD Guru
          Community WarriorsvExpertUser Moderators

          A practical remark, the MaxSamples 10 parameter is not a good idea imho.

           

          When you use MaxSamples, the Get-Stat will only return that many observations for each entity.

          But those MaxSamples observations are taken from the end of the interval you specified with Start and Finish.

          In your example you're looking at observations that occur every 20 seconds (last hour = Realtime interval), that results in observations from the last 10 * 20 = 200 seconds of the Start-Finish interval (3600 seconds).

           

          More generally, I'm not sure trying to outsmart DRS is a good idea.

          DRS let's you optimise the use of resources in your multi-node cluster (initial placement), and DRS will try to avoid resource contention (provided sufficient resources are available in the cluster of course).

          Your idea might be good to determine a starting point, and perhaps even for organising your VMs in Resource Pools.

          But by eliminating DRS (it's not clear if you are going to disable DRS), you might in fact run more risk of having resource contention.