More experimenting with RAMdisks: Using a VM completely in RAM
In my previous post, I talked about using a small RAMdisk to speed up the process of generating MDT boot images. But the trial version only supports RAMdisks up to 4GB in size and only on client OSes. One comment posted to that blog pointed out that StarWind also has a free RAMdisk available, and it supports larger RAMdisks and server OSes. See https://www.starwindsoftware.com/high-performance-ram-disk-emulator for more information. (Again, I’m not recommending it, just pointing out its existence. Registration is required to download.)
This let me test out another scenario: Creating a RAMdisk large enough to hold an entire virtual machine, then seeing how much faster Windows can be deployed into such a virtual machine. Fortunately, I have a workstation-class machine with enough RAM to do something like that. I created a 20GB RAMdisk, formatted it as NTFS, then created a new VM where the VHDX file (using Windows Server 2012) was on the RAMdisk.
Using a physical disk array (attached to an Intel RAID controller) on the same system, I can deploy Windows 8 in about 10 minutes (new computer, clean install, no apps, no updates, etc.). So how much faster is the RAMdisk? On my machine, it took about eight minutes – noticeable, shaving 20% off of the time, but not as fast as I would have hoped. That’s another case of shifting the bottleneck: the image is pulled across the (virtual) network, read from a physical disk (VHD), consumes CPU, etc. Now if I only had enough RAM to load my entire server VHD into a RAMdisk to see what that does. Last time I checked, the server required about a terabyte of disk space, so going that far is not possible.
But I can do the next best thing: Create an MDT media ISO, copy that into the RAMdisk, and do a deployment using that instead of over the network. How long did take? About 7 minutes and 30 seconds. Sigh, 30 seconds saved.
One more test: Give the VM more CPUs. Instead of the default single core, I increased it to four cores and tried again. This time, the deployment completed in 6 minutes and 30 seconds. Another minute shaved off. (Don’t have lots of RAM? Well, you probably have more than one CPU in your Hyper-V server, use it when building images.)
So that’s up to a 35% improvement in performance – good overall, but not quite the fantastic results I was hoping for. Ah well, it was worth a try…
Comments
Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
perfectAnonymous
February 19, 2013
NTFS consumes rather intensively CPU type. The exFAT filesystem would be a better choice for the ramdisk where the VHD are stored. The Qsoft ramdisk supports exFAT , even without an additional format run.Anonymous
April 02, 2014
Thank you for posting this - I only discovered it today but have wondered just how much a fully-in-RAM solution would benefit image build/deployment times. Not as much as I'd hoped either... but you've saved me a bunch of time testing it myself to find out.Anonymous
May 19, 2014
you can look for imdisk, which is free and let you create ramdisks of any sizeAnonymous
January 05, 2016
I just want you to know that was a great project to be part of you've done on your site – captivating stuff.http://goo.gl/pKXwzI