Friday, 20 July 2007

System Builder Tip: HW or Virtual Machine Performance Tip - Seperate Swap Partition or VHD

One of the most significant contributors to Virtual Machine (VM) performance degradation and Virtual Hard Drive (VHD) bloat is fragmentation.

To keep performance optimized in the VM, we create a separate VHD just for the swap file for all of our VMs. Running the defragment utility on a regular basis is also important.

This has been a mandatory practice for us on all physical machines for a very long time. In the case of our workstations and servers they get a 5 GB or 10 GB partition at the end of the system drive respectively for this task.

Most nominal use workstations - read Office and e-mail usage - may not see an outright benefit from the separate swap file setup, but in the long run having the swap file on its own keeps things relatively clean on the OS partition. This is especially important for those machines that go out the door and are not heard from for a long time. A little defragmentation training and a simple mention to the client that the S: drive is there for performance and system stability and they tend to take care of it.

In the case of the VMs that we setup, the situation is similar. But, in the case of VMs we make sure to put the swap file, or in the case of SBS Premium the swap file and the ISA URL Cache, on a separate VHD. This helps to reduce fragmentation in the primary OS partition/VHD as well as bloat if both OS and Swap/Cache partitions were contained in the same VHD.

Here is what we think is a good image to use when explaining what happens with a system that has fragmented files:
  • You have one really big filing cabinet for all of those files.
  • The files have to be put in sequential order from the top down.
  • Only 16 pages allowed per folder going into the drawer.
  • Files must be put into the drawers or taken out of the cabinet by the folder - no individual page work allowed.
  • If a folder is removed from one of the top drawers, the next folder that needs to go in replaces it. No saving places.
  • A file of 24 pages will be split up into 2 folders and placed in available drawer spaces.
  • And so on.
This image will help people understand what happens when the system has files all over the place and how that will kill performance on the machine.

Just ask them to think about needing to grab a file that is 30 folders in size and they are spread across 4 drawers. They get it pretty quick! ;)

One other method to reduce VHD bloat is to "Compact" the VHD. As I understand it, this removes the zeros from within the VHD and thus reduces the physical size of it as well as improving performance. For high usage VMs, this is a mandatory process that one can script.

Microsoft Virtual Server Links:For small shops like us, Virtualization Rocks. It gives us the ability to increment the CPU power, RAM, and storage to accommodate a number of VMs that would otherwise have cost us a lot more in physical machines per OS, power consumption for the systems and the cooling, and actual floor space for storage of the machines.

Philip Elder
Microsoft Small Business Specialists

*All Mac on SBS posts are posted on our in-house iMac via the Safari Web browser.

No comments: