Like many people who demo software technologies or who need to perform testing on multi-machine environments, I’ve been using Virtual PC and Virtual Server for years (and VMWare before that). If you’re unfamiliar with these two Microsoft products, both are free and can be used to conduct lab tests, play with new technologies or even run legacy applications in an old OS environment which may not be compatible with the latest OS and hardware. See Virtual PC and Virtual Server homepages for more information.
Once you’ve been using some Virtual Machines (VMs) for a while, the size of the hard disks can get a tad unweildy – one commonly used demo environment in MS has a Virtual Hard Disk (VHD) file in excess of 30Gb!
I routinely compress (at an NTFS level) the hard disk which hosts the VHDs, and try to hold them on a different physical disk from the host OS – it makes a huge difference to performance. I once ran an Exchange 2007 VHD on the 2nd disk in my laptop, and compared startup times when running off the 2nd disk (which was fastest), to holding on the primary disk along with the OS (slowest). It was quicker to even put the VHD on an 8Gb USB drive and run it from there, than holding it on the host HDD!
There are many places online where tips and tricks are displayed, but I came across Cameron Fuller’s blog recently, and he’s talked about lots of this stuff over the last year or two – if you’re thinking of doing anything serious with VPC or VS, check it out.
Here’s one of the more interesting points:
On Virtual PC disk writes were faster (57%) on a compressed drive, and disk reads were also faster (83%).
So there you have it. If running Virtual PC, definitely compress the VHD. In Cameron’s case, it was clear that his CPU was outstripping his disk I/O, so it was quicker for the PC to read a compressed file and then decompress it in RAM, than it was to read the whole thing uncompressed.
In Virtual Server, the case is slightly less clear cut – disk writes were slower (22%) but reads were faster (52%), so it may be less clear-cut, but still well worth considering, especially if you’re using VS in a training, lab or testing environment, when the dramatically smaller file sizes (both in terms of storage and also copying over the network) may even outweigh any slight performance degradation.