Guest OS Performance Profiling
Dashboard
Use the
Guest OS Performance Profiling
dashboard to know the
actual performance of your environment.Some counters directly impact the
performance of Windows or Linux, the operating systems running inside the VM. These
KPIs are outside the control of the hypervisor.
Modern operating systems such as Linux
and Windows use memory as cache, since it is faster than a disk. Some counters
directly impact the performance of Windows or Linux. These KPIs are outside the
control of a hypervisor, which means that the ESXi VMkernel cannot control the
increase or decrease of the KPI values. The KPI visibility also requires an agent,
such as VMware Tools. As a result, they are typically excluded in performance
monitoring.
Since they are closer to the
applications, it is critical to know their values and establish an acceptable range.
The acceptable level of these KPIs among all the VMs in your environment varies. By
profiling the actual performance across time and from all VMs, you can establish a
threshold that is supported by facts. Since there are 8766 instances of 5 minutes in
a month, profiling 1000 VM over a month means you are analyzing 8.8 million
datapoints.
Design Considerations
The dashboard uses progressive disclosure
to minimize information overload and ensures that the webpage loads fast.
In a large environment, loading thousands
of VMs increases the loading time of
VMware Aria
Operations
. As a result, the VM is grouped by data center. For a
small environment, vSphere
World
is provided so you can see all the VMs in the environment.How to Use the Dashboard
Select data center from the data centers
list. The three tables listing CPU, memory, and disk will show the VMs in the
selected data center or
vSphere
world. Each table shows the highest value in the last one week (2016 datapoints
based on five minutes collection cycles), and hence uses the term max as a prefix,
for example Max Page-Out/sec or Max Guest OS Disk Queue.Select any of the VMs in any of the
tables. The three line charts are displayed. They are showing data from the same VM
to facilitate correlation.
- CPU table widget:
- The Max CPU Queue column shows the highest number of processes in the queue during the given period. As a best practice, keep the queue below three for each queue. A VM with eight CPUs has eight queues, hence keep this number below 24.
- The CPU Hyperthreading gives twice the queue as it should as both threads are interspersed in the core pipeline.
- CPU Context Switch. There is a cost associated with the context switch. There is no guidance for this number, and it varies widely.
- Memory list widget:
- In memory paging, the modern operating systems (Linux and Windows) use memory as cache, it is much faster than a disk. It proactively pre-fetches pages and anticipates future needs (Windows calls this Superfetch). The rate pages that are being brought in and out can reveal memory performance abnormalities. A sudden change, or one that has sustained over time, can indicate page faults. Page faults indicate that pages are not readily available and must be brought in. If a page fault occurs too frequently, it can impact application performance. While there is no concrete guidance, as it varies by application, you can view a relative size. operating systems typically use 4 KB or 2 MB page sizes.
- Disk list widget:
- Disk queues are queued IO commands that are not sent to the VM. They have been retained inside the Guest OS (either at a kernel level or a driver level). A high disk queue in the guest OS, accompanied by low IOPS at the VM, can indicate that the IO commands are stuck waiting on processing by Windows/Linux. There is no concrete guidance regarding these IO commands threshold as it varies for different applications. You should view this with the Outstanding Disk IO at the VM layer.
Points to Note
- These Guest OS widgets do not appear unless the vSphere pre-requisites are met. For more information, see KB article 55697.
- Once you determine an acceptable threshold for your environment, consider adding thresholds to the table so you can easily view the VMs that exceed a threshold.
- The CPU queue is the sum from all virtual CPUs. A larger VM can tolerate a higher queue as it has more processors. If you want to compare VMs of different sizes, create a super metric that calculates the queue per vCPU. For more information, see Create a Super Metric.
- Group the VM by clusters of the same class (for example, Gold), so you can see the profile for each environment.
- For a smaller environment, consider changing the table from listing data centers to listing clusters.