Windows Server 2008 R2 Best Practices in VMware vSphere 4.X

Updated on March 16, 2019
1 Star2 Stars3 Stars4 Stars5 Stars (12 votes, average: 5.00 out of 5)
  • Be sure the virtual machine has at least 2GB of RAM.
  • Hard drive for the virtual machine must be 20GB or larger.
  • Single VCPU works better for Windows 2008, Because Windows 2008 uses high bit rate address space for context switching when compared with Windows 2003, which creates multiple cycles of high bit range contexts and these are better addressed by Single VCPU. (this again vary if it is a DB server).
  • VCPU will get hit, when VMware have wide variety of hardware components attached to VM (Majorly Serial and Parallel COM ports, USB controllers, Sound Cards etc), if any of these components are not required, remove them and disable them from VM BIOS.
  • Zeroed Thick: Space required for the virtual disk is allocated at creation time, hoVMwarever the data blocks are not erased or zeroed out at the time of creation. (Recommended for Windows 2008 R2 in a non-clustered env).
  • Eager Zeroed Thick: Space required for the virtual disk is allocated at creation time. The remaining data blocks on the disk is zeroed out.
  • Thin Disks are not recommended at the moment, due to I/O dependability. Do not check the box for independent persistent while creating the disk, as they are only meant for performance but other activities like hot cloning, hot migration may fail.
  • Disabling a page file inside the guest will improve the performance, provided you make the VM to run with good amount of memory. Above this ESX host will create a default grow able swap in VM folder for flipping the memory balloon. (Not recommended when VM running with I/O intensive applications (Exchange, SQL etc)).
  • A good standard for the memory overhead of each VM is 32 MB for the first 1 GB of virtual RAM plus another 8 MB for each additional GB of virtual RAM. This should be factored in the calculations of how many VMs to host on a physical server. The memory overhead varies depending on the actual load and other factors.
  • LSI logic SCSI controllers are recommended for Windows 2008 R2 machines. Windows 2008 R2 MSCS requires a SCSI-3 compliant mass storage controller, this is called as LSI Logic SAS controller in ESX 4.
  • SCSI -3 Support with vSphere 4: Till VMware Esxi 4 have been using SCSI-2 PR, from Windows 2008 onwards VMware will be using SCSI- 3 PR for Microsoft Clustering. SCSI -3 PR are completely supported by VMware.
  • SAS controllers are usually shipped with Hardware Vendors depending on the model you purchase and they have been proven with Industry standards for SCSI compliance.
  • If you are installing a Windows 2008 R2 box with LSI Logic SAS controller it will prompt to install SAS drivers manually, and these drivers can be downloaded from HOST Vendor VMwarebsite.
  • Using separate SCSI controller for DB Drives (Exchange, SQL) for faster I/O. This is tested.
  • VSMP (Virtual Symmetric Multi Processor) works better with single VCPU in Windows 2008 R2 servers.
  • CPU interrupts are shared betVMwareen multiple VCPUs if the Guest is running with multiple VCPU. CPU interrupts are scaled on per hardware basis, basically a daisy chain algorithm in Physical systems. Whereas in Virtual Guests the CPU interrupts are scaled on host privileged instruction virtualization.
  • From vSphere4 onwards VMware can pin CPU to AMD-V/Intel-V instruction sets on fly when VM is up and running. This plays a major role in guest and host CPU scheduling.
Related Article  How to Enable Local or Remote Tech Support Mode TSM from the Direct Console User Interface (DCUI) on ESXi 4.1

Windows 2008 R2 Tweaks for Better Performance

  • Disable background services such as SuperFetch and Windows Search. (Disable SuperFetch Service and Go to the properties of the C drive and uncheck the “Index this drive for faster searching” box, click apply and choose Apply changes to drive c: only).
  • Disable scheduled tasks such as Scheduled Defrag.
  • Disable user interface effects (Set the option to ?Adjust for best performance? in System->Properties->Virtual Memory).
  • Disable Screensaver and stick to classic theme.
  • Disable personalized menu.
  • Limit programs at startup (msconfig).
  • Disable unnecessary services.
  • Follow best/recommended practice for Antivirus program you are using.