I recently spent couple days testing PernixData FVP caching solution in my home lab. Before I talk about FVP let me talk about my home lab. My home lab is not very fancy if compared to some of my vExpert colleagues, especially since it’s three years old hardware. It’s a white-box with a Gigabyte X58A-UD5 motherboard, 12GB RAM Kingston DDR3 2000Mhz and a Intel iCore7 960 processor clocked at 3.20 GHz. For internal storage I have a SSD Kingston 128GB SSDNow V+ and an external IOmega IX4-200 2TB. I boot ESXi 5.1 from a USB stick.
Both server and CPU have reasonable speeds, however the Kingston SSD has become really slow for today’s standards. In fact, it has an average drive rating of 512 (here) in passmark, and it’s very slow when compared to the top of the range OCZ Z-DRIVE R4 C Series that is rated as 16128 (here).
I wanted to test FVP in a VDI context.
Initially I thought about running IOmeter to identify the number of IOPs with FVP turned On and Off, but this test would not mimic a real VDI environment. There are too many factors that would influence the results, starting with the lack of Content Based Read Cache (aka View Storage Accelerator) to offload most of the system disk read IOs. Moreover, the IO profile when running Windows, Microsoft Office and other enterprise applications cannot be easily replicated with IOMeter. For this reason I decided to use the LoginVSI benchmarking tool to run the tests as it is what would get me closer to a more realistic set of results.
If you are not familiar with CBRC find out more here.
What is PernixData FVP?
PernixData FVP is a hypervisor plug-in that aggregates server-side flash across an entire enterprise to create a scale-out data tier for the acceleration of primary storage. By optimizing reads and writes at the host level, PernixData FVP reduces the overall VM and application latency.
My Home Setup
The picture below demonstrates my single host setup with CBRC and PernixData FVP. CBRC was turned ON during my tests because it would more closely represent VMware Horizon View deployments. Because CBRC was turned On I didn’t expect FVP to provide much acceleration for Read IOs. Remember, CBRC caches repetitive reads with same content in RAM.
VDI Workload Test
I executed LoginVSI with the medium VDI workload profile without FVP to create a baseline. After approximately 20 minutes I turned FVP caching On and let it run for another 15 minutes before turning it Off. (picture below)
As expected Read IOs (blue line) have not been accelerated much because most of the load was being served by CBRC, from RAM. The big difference manifested itself in form of Write IOs latency reduction (red line). Write latency was reduced to almost zero, or zero absolute at some moments. The graph above demonstrates overall read and write latencies for the iOmega datastore hosting the Horizon View virtual desktops. In this same datastore I was also running vCenter Server Appliance, Active Directory and Connection Server, all accelerated by FVP at the same time.
To validate the initial numbers I executed the reverse test. In this new test the PernixData FVP service was already turned On for the initial Windows desktops logon phase of the LoginVSI workload, being turned Off about 30 minutes into the tests. The picture below demonstrates a clear spike in IO latency when the caching is turned Off.
During the LoginVSI workload test I was also able to utilize the FVP console to monitor the Flash utilization and performance. FVP provides a simple and intuitive administrative interface that allow administrators to quickly understand the workload behavior, the amount of Flash hit rate, the total number of IOPs and bandwidth saved from the datastore.
In my VDI workload tests PernixData FVP provided faultless IO acceleration for both reads and writes. FVP is an ideal add-on for existing VDI environments that are struggling with IO performance or bandwidth throughput. FVP extends the life of an existing shared storage array, postponing the procurement of an upgrade or a brand new storage array.
PernixData FVP provides a clustered coherent caching solution but works only with SSD as caching device and block protocols (SCSI, iSCSI), unlike competitors in the VDI space such as Atlantis Computing, Nexenta and LiquidwareLabs who utilize RAM as caching for their acceleration solutions. In-RAM caching solutions will provide enhanced performance if compared with SSD solutions, but they come with the DRAM price tag.
The combination between VMware vSphere CBRC (View Storage Accelerator) and PernixData FVP is a powerful tool to provide users with desktop like experience when accessing Horizon View virtual desktops, but the solution will assist any workload running on VMware vSphere.
Important note: My home lab tests have absolutely no scientific validity and must not be used as basis for purchase decisions. Talk to vendors and run your own tests to ensure the product suits your needs.
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net.