Tuesday, June 10, 2014

AppV 5 Shared Content Store performance profiled vs. local disk

We are looking to utilize AppV 5's shared content store and one of the things I was interested in was knowing what kind of overhead network performance may vs. local disk. What I have is a physical server with 3x300GB 10,000 RPM SAS drives in a RAID-5 vs. a CIFS share on SSD. The catch about the CIFS share is it is 300 kilometers (200 miles) away in another city. I used this share as I don't have another share local to the physical box and this brings the performance of the share down, but it's still faster than the disk. The IOMETER readings for the Shared Content Store and the local disk hosting the PackageInstallationRoot are:

The CIFS share is 2x faster on average, pulling 2803 IOPS vs 1324. Bandwidth of the CIFS share is faster as well, 11.48MB/s vs. 5.43MB/s for the local disk.

To test the performance I did the following, I loaded an AppV 5 application to disk, I then wrote a AutoIT script to get the start time, launch the program, wait for the login screen, once the login screen is visible get the finish time. I then stopped and started the appvclient as this ensures nothing is cached in RAM and ran the AutoIT script again. I did this thirty times. I then turned on Shared Content Store (SCS) and loaded the package in that manner and retested. The results are (average of all 30 runs):

Local Disk: 9.6s
SCS: 9.7s

For the 30 runs the Local Disk deviated +/- 0.2s from average so the range was from 9.4s to 9.8s.

For the SCS the deviation was much bigger, probably to be expected when you're pulling from a file share 6ms away across a shared pipe. Deviation on the network was:
+/- 1.85s with a range from 8.2s to 11.9s. Amazingly, there were numerous runs where the network bested the local disk under 9.4s for launch time. I'm sure if the SCS was local we'd get even more consistent performance and probably even faster performance. A local server to the share gets about 8x better IOMeter numbers.

Now, how about when the application has already been launched so files are cached? Results (average of all 30 runs):

3 comments:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_Change2CUI=y#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****;; AutoIt Version: 3.0; Language: English; Platform: Win9x/NT; Author: Trentent Tye (trentent@ca.ibm.com);; Script Function:; This script takes 2 parameters. The first is the program to launch; second is the window we wait for then output; standard output with the duration both took. eg, Time_Window_Launch.exe C:\testprog.exe "Hello World"