Configuring Rules for VM Rightsizing

vCommander uses a set of rules to generate rightsizing recommendations for a VM. You can customize these rules.

You can also configure different rules for different workload types through rightsizing groups. For example, you can configure distinct rules for a database and a web server, or for production and development workloads. Rightsizing groups also allow you to specify that certain workloads are never resized (such as a load balancer appliance). You can add VMs to rightsizing groups manually, through policy, and when you build the service catalog.

See Rightsizing VMs and Instances to learn how to view and apply rightsizing recommendations.

Rightsizing recommendations are just one feature of vCommander cloud expense management. See Cloud expense management and watch our Cloud Cost Optimization video to learn about other features that work together to reduce your cloud costs.

What happens to existing recommendations when the configuration is changed?

When you change a rightsizing group's configuration, existing recommendations for VMs in that group are rescinded, and new recommendations are generated with the next nightly VM performance update.

If you move a VM to a different rightsizing group, existing recommendations for that VM are rescinded, and new recommendations are generated (if necessary) with the next nightly VM performance update.

If a VM was excluded from recommendations, this setting is preserved when the VM is moved to a different rightsizing group.

If you want to generate new recommendations immediately, you can manually update VM performance data.

Rightsizing recommendation formulas

By default (when conservative rightsizing is configured), memory rightsizing recommendations are between 12.5% and 25% of total memory size. For example, for VMs with between 1024 MB and 2048 MB total memory, vCommander recommends a memory change of 256 MB.

When aggressive rightsizing is configured, the formula for CPU downsizing is:

(Peak CPU % * Num Cores) * Buffer

Aggressive rightsizing applies only to vCenter and SCVMM VMs.

For example, let's say you have a VM with 8 vCPUs and a peak memory usage of 50%. When aggressive downsizing is configured with no CPU rightsizing buffer, vCommander would recommend an immediate downsize to 4 vCPUs. But you might want to leave a little wiggle room. If you set a CPU buffer of 20%, vCommander would recommend downsizing to 6 vCPUs instead (50% peak usage times 8 vCPU times 120% = 4.8 vCPUs, which is rounded up to 6 vCPUs, since only an even number of CPUs is allowed).

When aggressive rightsizing is configured, the formula for memory downsizing is:

((Peak Memory % * Mem (GB)) * Buffer

For example, let's say you have a VM with 8 GB memory and a peak memory usage of 50%. When aggressive downsizing is configured with no memory rightsizing buffer, vCommander would recommend an immediate downsize to 4 GB. But you might want to leave a little wiggle room. If you set a memory buffer of 20%, vCommander would recommend downsizing to 5 GB instead (50% peak usage times 8 GB memory times 120% = 4.8 GB, which is rounded up to 5 GB).

Tasks for configuring rightsizing rules

If you want to customize a single set of rightsizing rules for your entire virtual infrastructure, go to Customizing the rules for VM rightsizing.

If you want to set up distinct rules for different workloads or parts of your infrastructure, the steps are:

  1. Create and configure one or more rightsizing groups.
  2. Assign existing VMs to the proper rightsizing group.
  3. Assign new VMs to the proper rightsizing group.

Customizing the rules for VM rightsizing with groups

Access through:

Configuration menu > Groups > Rightsizing

Available to:

vCommander Role of Superuser, Enterprise Admin

Rightsizing groups are used to configure the rules for VM rightsizing. By default, all VMs are assigned to the default rightsizing group. You can customize the rules for the default rightsizing group. To configure distinct sets of rules, create one or more rightsizing groups and configure the rules as required.

To customize VM rightsizing rules:

  1. Choose one of the following:
    • If you want to customize the rules for the default rightsizing group, go to Configuration > Groups > Rightsizing, select the default rightsizing group, and click Edit.
    • If you want to create distinct rightsizing rules for different parts of your infrastructure, or for different workload types, create a new group. Go to Configuration > Groups > Rightsizing, and click Add.

      You can copy a set of rightsizing rules by selecting a group in the list and clicking Copy.

  2. In the Rightsizing Group wizard, on the Name and Description page, enter or edit the name (100 character limit) and an optional description (1000 character limit), then click Next.

    Give the group a descriptive name so that it makes sense to service owners viewing the service's Rightsizing Group property, and so that administrators can easily choose the proper group when required.

  3. On the General page, do the following steps, then click Next:
    • Set the sample size and sample period.

      To ensure that vCommander makes accurate recommendations, recommendations are generated only if a VM has a sufficient number of performance samples (the Sample Size) within the Sample Period. Performance samples are taken whenever performance data is updated as part of the nightly performance update. The VM must be powered on for performance to be updated, but it doesn't need to be powered on continuously.

      By default, vCommander must have at least seven days of performance samples within the last 30 days to generate recommendations for a VM.

      For example, if you only want vCommander to generate recommendations for VMs that have continuous performance samples (meaning that no days are missed), set Sample Size and Sample Period to the same value.

      If you think there's a danger that recommendations based on only a week's worth of data might be based on performance spikes, increase the Sample Size. This ensures that the average values are based on a greater number of samples.

    • If you want to aggressively downsize the VMs in this group, so that vCommander recommends immediate downsizing to the optimal CPU and/or memory level, select Aggressive. This setting works well especially for very large VMs. If you want to gradually downsize CPU and memory in multiple steps, select Conservative.

      This setting affects vCenter and SCVMM VMs only.

    • Choose whether to maintain right-sizing recommendation after VM migrations.

      By default, downsizing recommendations persist after VM migration, but upsizing recommendations are rescinded after VM migration.

      When vCommander is configured to rescind a recommendation after VM migration, a new recommendation is not generated until the required number of performance samples are collected within the configured sample period. This is because the VM's CPU ready history and the VM's memory ballooning history reflect congestion on the old host, not the new one.

      Because downsizing recommendations don't depend on any attributes of the host system, you can typically ignore migration with respect to downsizing, and preserve the default setting. However, if you want vCommander to rescind downsizing recommendations after VM migration, disable Downsizing recommendations persist. If you want upsizing recommendations to persist after VM migration, enable Upsizing recommendations persist.

  4. On the CPU Changes page, adjust the settings as required.

    The default settings are as follows:

    Recommendation Type

    Upsize when...

    Unless...

    CPU Upsize

    VM CPU: Average > 75%

    AND

    VM CPU: Peak > 90%

    VM CPU Ready Average > 5%

    OR

    Host can't support the recommended number of CPUs

    CPU Downsize

    VM CPU: Average < 38%

    AND

    VM CPU: Peak < 45%

    If you don't want VMs to be downsized below a certain level, enable Minimum Recommended CPU and enter a value for vCPU.

    If you selected Aggressive on the General page, you can set a buffer for CPU downsizing. See Rightsizing recommendation formulas above to learn how this buffer affects recommendations.

  5. On the Memory Changes page, adjust the memory settings as required.

    Guest memory settings have no effect unless you have integrated with Splunk.

    The default settings are as follows:

    Recommendation Type

    Upsize when...

    Unless...

    Memory Upsize

    VM Memory: Peak > 90%

    OR

    Guest Memory: Peak > 90%

    OR

    Guest Memory Paging: Peak > 30 pages out/sec

    Guest Memory Paging: Average < 20 pages out /sec

    OR

    VM Memory Ballooning: Average > 10% of VM memory

    OR

    VM memory > 1 TB

    Memory Downsize

    VM Memory: Peak < 60%

    OR

    Guest Memory: Peak < 60%

    If you selected Aggressive on the General page, you can set a buffer for memory downsizing. See Rightsizing recommendation formulas above to learn how this buffer affects recommendations.

  6. To set up automated rightsizing:
    1. Set upsizing and downsizing recommendations. You can configure upsizing and downsizing independently to customize your automated optimization.
    2. Choose when you want the recommendations to be applied.
      1. Submit change request. This is the recommended method. If you want a certain workflow to be executed as part of this change request, you must configure this workflow with global access instead of assignment to a specific user or group.
      2. Apply during a maintenance window. If VM-specific maintenance windows are defined, they’ll be used instead of the default rightsizing group maintenance windows.
      3. You can automatically apply the recommendations immediately. This may shut down and restart the VM(s).

    If you change the auto apply settings on an existing group, any existing and active recommendations belonging to this group will auto rightsize. When you apply a group to a VM, it may be automatically rightsized immediately if it meets the conditions for rightsizing.

  7. On the Summary page, review your settings, then click Finish.

Setting the rightsizing group for existing VMs

Access through:

Operational or Deployed view > Virtual Machines tab

Available to:

vCommander Role of Superuser, Enterprise Admin

Operator or higher access rights on the VM

To learn how to view a VM's rightsizing group, see Viewing a VM's rightsizing group. Service Portal users can't set a rightsizing group, but they can view a VM's rightsizing group.

See also What happens to existing recommendations when the configuration is changed above.

To set the rightsizing group for existing VMs:

  1. In the Operational or Deployed view, display the VMs in the Virtual Machines tab. You can perform a quick search or advanced search to locate the VMs.
  2. Select the VMs, right-click, and choose Configuration Management > Set Rightsizing Group.
  3. In the Set Rightsizing Group dialog, select a group and click OK.

Setting the rightsizing group for new VMs

See Order of Precedence for Metadata and Other Service Settings for information on which group assignment takes precedence.

Setting the rightsizing group in the service catalog

You can sometimes predict the workload when you're building the service catalog entry, for example, if you're creating a service for a database component. In this case, you can specify the rightsizing group when building your service. The rightsizing group is set on the Attributes tab of the component settings in the service catalog blueprint:

rightsize_cat

See Managing the Service Catalog for more information.

Setting the rightsizing group with the Default Attributes policy

The Default Attributes policy allows you to automatically assign new VMs to a rightsizing group. See Assigning Groups to Services with the Default Attributes Policy for more information.

Deleting a rightsizing group

Access through:

Configuration menu > Groups > Rightsizing

Available to:

vCommander Role of Superuser, Enterprise Admin

When you delete a rightsizing group, its members are automatically reassigned to the default rightsizing group. It's not possible to delete the default rightsizing group, but you can disable rightsizing recommendations.

To delete a rightsizing group:

  1. Go to Configuration > Groups > Rightsizing.
  2. In the Rightsizing Groups list, select a rightsizing group.
  3. Click Delete.
  4. Click Yes to confirm the deletion.

Disabling rightsizing recommendations for some or all VMs

Access through:

Configuration menu > Groups > Rightsizing

Available to:

vCommander Role of Superuser, Enterprise Admin

Rightsizing groups allow you to specify that certain workloads are never resized (such as a load balancer appliance). You can also disable rightsizing entirely.

To exclude a set of VMs from rightsizing recommendations:

  1. Go to Configuration > Groups > Rightsizing.
  2. On the Rightsizing Groups page, click Add.
  3. In the Rightsizing Group wizard, on the Name and Description page, enter a name and an optional description.
  4. On the General page, clear Enable Recommendations.
  5. Click Next to advance through the wizard, and on the Summary page, click Finish.
  6. Assign existing VMs to this rightsizing group. See Setting the rightsizing group for new VMs above.
  7. Ensure that new VMs with this workload type are assigned to this group. See Setting the rightsizing group for new VMs above.

To disable rightsizing for a rightsizing group:

  1. Go to Configuration > Groups > Rightsizing.
  2. Select a group in the list and click Edit.
  3. On the General page of the Rightsizing Group wizard, clear Enable Recommendations.

To completely disable rightsizing, repeat this procedure for all other rightsizing groups. You can also delete rightsizing groups.