I was fortunate enough to attend VMworld last week. It was a great event and I got to see some very informative sessions. With this in mind, I thought I'd write about some functionality that has been built into our latest version. We've been able to detect whether a SQL Server was a virtualized guest for awhile, but now we have added the ability to monitor host-level metrics for both VMware and Hyper-V. In more and more environments, SQL Servers are virtualized, and this will provide DBAs with additional information about the performance of the host, as well as resource utilization of other guests sharing that same host.
For VMware, we have introduced V Sentry and, for Hyper-V, the functionality is contained within Win Sentry. While both provide very similar metrics and look relatively the same, let's take a look at each.
Virtual Host monitoring
For the most part, monitoring virtual hosts is the same regardless of whether you are using Hyper-V or VMware. The left side of the dashboard shows the resource utilization of the host. Performance Advisor for VMware Host displays Co-Stop and Ready Time percentages:
Ready Time refers to hosts that have work to do and are waiting on the CPU resources to become available. In the simplest possible definition, Co-Stop is how VMware hosts handle parallelism – David Klee (b|t) provides a much better definition here. While I'm at it, here's a more in-depth discussion on CPU Ready Time.
In Hyper-V, vCPU wait time is analogous to Ready Time in VMware. There isn't currently a similar Co-Stop metric.
The right side of the dashboard allows you to see which guests are making use of those host resources, and allows you to identify if you have guests using more than their fair share – otherwise known as "noisy neighbors." In this example, we can see that the orange spike, representing
VM-SE-AG6, is suddenly using more CPU:
Along with the dashboard, we also show Disk Activity and Disk Space, showing the activity and size of the VMDK (VMware) and VHDX (Hyper-V) files. In the Disk Activity view you can identify latency, just like you can with Performance Advisor for SQL Server. Here is an example of the Disk Activity view:
But wait, there's more!
Like with all of our tools, we have implemented our "Jump To" functionality. In the example above, where
VM-SE-AG6 had a sudden spike in CPU utilization, if we are monitoring that guest with any version of Performance Advisor, we can right-click on that spike and choose Jump To > VM Dashboard, which will open the guest dashboard for that period of time. We can then continue to drill down to see the cause of that CPU spike.
We can also jump from a virtualized guest to the host. SQL Sentry will detect if the server is a VM and, if the host is being monitored with Performance Advisor, there will be a link to jump to the host machine. This can allow you to see if other guests on that host might be causing resource restrictions.
This new functionality gives DBAs more insight into your virtualized environment, and we'll continue adding more functionality as we move along. Melissa Connors (b|t) has put together a list of Custom Conditions for VMware. and Justin Randall (b|t) has written a post about some exciting functionality for shops making use of Tintri devices in their virtualized environments.