while we are working on an updated reference architecture for VMware Horizon View and XtremIO, we started to play with many of our recommended parameters for ESXi, all the parameters are well documented in the user guide and also, you can apply them all AUTOMATICALLY using the EMC VSI (Virtual Storage Integrator) vCenter plugin as you can see below
however, one parameter was never inspected thoroughly, it is the default XCOPY block size that VMware are using, the default size is 4MB and when I tried a larger block size, it didn’t give any better performance in terms of time or latency..
I asked myself whether playing with smaller block size can yield different results so from 4MB I took the other extreme approach to 4k/8k/16, it didn’t improve anything, in fact, it made the cloning operation slower, finally, I came to test a block size of 256kb, I was amazed!
first, in order to change the block size, you need to run the following command per an ESXi host, it doesn’t require a reboot and it’s a global parameter which means that every volume that will be connected to this host will run XCOPY at the specified bandwidth
I then started to clone 500 VMs, the bandwidth was very high but the shocker was the reduced time and the latency it took for XCOPY to perform the operation, the total time of cloning 500 windows 7 VMs with office 2010 and the latest patches was 30 minutes!
Latency – Redefined!
what you see above is not a mockup, this was the latency I observed during the cloning operation, granted, I didn’t power on the VMs after the cloning but I just wanted to test the effect of the 256kb block size on the cloning operations, less than 1MS latency!!!
below you can see a demo I recorded showing the entire process, we are still validating all of this in order for this parameter to find it place to the next user guide.