In the December 2005 commentary, “5 Tips for Souping Up Virtual Machines” ( http://www.sqlmag.com/articles/index.cfm?articleid=49127& ), I stepped out of traditional “commentary” mode and shared some great technical tips about how to get your Virtual PC (VPC) or VMware virtual machines (VMs) running faster. Since then, I’ve been using Microsoft VPC a lot more, and I recently got some more good advice from John Paul Cook one of the few Microsoft Most Valuable Professionals (MVPs) for Windows – Virtual Machine. (For more information about John Paul cook, see https://mvp.support.microsoft.com/profile=1742A26F-106E-4883-811F-0D9329144A0C .) John knows as much about SQL Server (and Oracle) as he does about VPC, so we had a good discussion--especially about tuning VPCs that run SQL Server. Here are a few tips John passed along:
1. When building a VPC, install your software on your VPC from an .iso or .img file, not from physical optical media. Reading from a file on a hard drive is much faster than reading from optical media. If you can download media as an .iso or .img file, don’t burn the file to a CD-ROM or DVD; just directly attach it to Virtual Server or VPC.
2. When ordering a new laptop, workstation, or additional drive, get a faster hard drive. Many laptops still come standard with 4200rpm or 5400rpm hard drives, and many desktops still have 5400rpm hard drives. Get a 7200rpm hard drive or better yet, a 10,000rpm drive. Keep in mind some additional performance considerations: Serial ATA (SATA) drives outperform traditional Parallel ATA (PATA) drives when everything else is equal, and an IEEE 1394 (Apple calls it FireWire) connection external hard drive requires less overhead than USB 2.0.
3. Remember that a smaller virtual hard drive is better. For Windows XP VMs, turn off System Restore and use the Disk Cleanup Wizard. Minimize the Internet Explorer cache size and set History to 0 days. Use the virtual disk precompactor utility in the Virtual Machine Additions folder and follow with the Virtual Disk Wizard to compact a dynamically expanding virtual hard disk. You should thoroughly defragment inside the virtual machine before using the precompactor utility. Run the built-in defragmenter that comes with Windows three consecutive times or better yet, purchase a third-party defragmenter.
4. Turn off unnecessary services in the VM. If you aren’t going to print from the VM, consider setting the Print Spooler service to start manually. You probably won't need the IMAPI CD-Burning COM Service or Wireless Zero Configuration Service in a VM, so you can set them to start manually.
5. Don’t tax your processor with unnecessary tasks executing in your VM. Go to My Computer, Properties, Advanced, Performance Settings. On the Visual Effects tab, select “Adjust for best performance.” Right-click the Taskbar and select Properties, then uncheck “Show the clock.” Thanks to John for these tips. Keep an eye on John’s MVP page for future postings of his SQL Server and VPC articles and publications.