Investigate your application performance by using FVP monitor capabilities

In the article “Are your storage performance test methods able to test acceleration platforms accurately?” I recommend investigating the behaviour of your application when evaluating an acceleration platform. How could you do this without diving into the deep bowels of the applications, open up a can of command line tools and all other sorts of trace tools? With FVP software you can use FVP monitor capabilities.

FVP Monitor capabilities
We believe that you should be able to simply compare your current storage performance levels with the new accelerated performance levels and FVP software is designed to provide information in one clear and coherent performance graph. FVP Monitor capabilities allows you to easily determine the performance difference running an application natively on a storage array or accelerated by FVP.

00-Before-and-After

How do you use the FVP monitor capabilities? Simply create a FVP cluster but do not assign any flash resources to it. FVP software captures the I/O activity of virtual machines that are a member of the FVP cluster.

Creating a Monitor FVP cluster
The first step is to install FVP in your virtual architecture by installing the kernel extension module software (vib package) on the ESXi hosts inside the vSphere cluster. Install the PernixData Management Software on any windows machine. Go to the FVP Cluster menu option in the vSphere web client or if you are using the vSphere client, select the cluster and go to the PernixData tab. Select the Create Cluster option.Assign your Monitor cluster a name and provide a description, then select the vSphere cluster that contains the ESXi hosts enriched with the FVP software.

01-Create-Monitor-Mode-FVP-Cluster

Please note that these hosts contain Flash devices but these will be assigned to another FVP cluster that accelerates application workload. Once the Monitor cluster is created, the summary page indicates that the cluster does not contain any flash devices and for this purpose that’s ok.

02-Summary-Monitor-Mode-FVP-Cluster

The next step is selecting the virtual machine that runs the application that you are investigating. For this exercise I’m using the virtual machine running vCenter server.

03-Add-VM-to-Monitor-Mode-FVP-Cluster

Please note that although the UI allows you to select a Write Policy, no read or write acceleration will be performed, due to the absence of Flash resources in this cluster.

Time to run the application. FVP measures the Latency, IOPS and Throughput of the virtual machine. To view these performance metrics, select the virtual machine and go to the monitor tab. Select the FVP Performance option. To keep the length of this article to a minimum only latency performance graphs are shown, an extensive white paper covering this feature shall be published soon.

The Latency graph shows the VM observed latency and the datastore latency. The VM Observed latency is the effective amount seen by the virtual machine, due to absence of flash, the VM Observed latency overlays the Datastore latency. I disabled the metrics Local Flash and Network Flash as they were flat lining at the bottom.

04-VM-Observed-Latency-Monitor-Mode-FVP-Cluster

FVP allows you to determine the native performance of the application provided by the storage array. The screenshot above shows the latency observed by the virtual machine, but FVP also allows you to determine the number of IOPS and throughput. Each allowing the user to select a breakdown on Datastore and Flash, Read and Write or create a custom view.

As the Monitor FVP cluster provided a native performance baseline, it is now time to determine the difference in performance by moving the virtual machine to the FVP cluster containing flash resources.

05-Flash-Cluster-Overview

To move a virtual machine between FVP clusters, select the destination FVP cluster and select the option Add VMs….By default the FVP user interface displays the virtual machine that are not a member of other FVP clusters, to view all virtual machines in the vSphere cluster, enable the option Show all VMs at the top left corner. Select the virtual machine (in this exercise, vCenter) and select the appropriate write policy.

06-Add-VM-to-FVP-Cluster

It is interesting to know that FVP collects performance history per cluster, host and virtual machine, when selecting the FVP Performance graphs at virtual machine level, FVP shows all the know data regardless of membership of FVP Cluster.

At 1.48 the transition between FVP clusters was complete and the performance graph shows the immediate improvement on latency, the VM observed latency is closer to the flash performance then the datastore performance.

07-Early transition

By hovering over the data points, a breakdown of the selected metrics is displayed.
Although the datastore latency is in hovering between 3 to 6 milliseconds, the VM observed latency is close to sub millisecond latencies, low millisecond latencies.

08-Breakdown

The FVP Performance graphs can be displayed in different time ranges, from the most recent 10 minutes all the way up to one month.

09-Time Range

These different time ranges allow you to run tests for longer periods of time and have detailed graphs helping you determine workloads running in a non-accelerated environment and the performance gains the FVP platform provides.

10-1-hour

Comments

  1. Rod Gabriel says

    Frank, Am I correct that the hosts would have to be using the Pernix FVP multipathing?