Configuring Windows VMs for Maximum IO
If the Administrator can make changes to Windows VMs, then the below set of steps will help maximize Storage throughput from within Windows VMs.
Step 0 Ensure VM Tools in the Guest VM is upgraded
Once VM is powered down, right click on VM. Goto ‘Edit Settings’ > ‘Options’ Tab > ‘VMware Tools’ option > Check the box that says ‘Check and Upgrade Tools during power cycling’
Step 1 Change Windows Driver from SCSI to PVSCSI by following the below steps
a. Power down the virtual machine (Only for Windows 2008 R2, keep the VM on for step b, c, and d)
b. Add a new hard disk using ‘Thick Provisioned Lazy Zeroed’ disk format type. When choosing the Virtual Device Node, select SCSI (1:0). When the virtual disk is created, it creates a second virtual SCSI controller.
c. Select the second virtual SCSI controller.
d. Click Change Type. Select the Paravirtual VMware controller type and click OK. Click OK to finish editing the properties of the virtual machine.
e. Power on the virtual machine (for Windows 2008 R2, at this point reboot the VM).
f. After Windows boots, log-in to the virtual machine. Windows automatically detects the new PVSCSI controller and adds the appropriate drivers. Windows Device Manager > Storage Controllers Section should show VMware PVSCI Controller.
g. Logging into the Windows VM, and going to ‘Control Panel’ > ‘Device Manager’ > ‘Storage Controllers’ section, one should see the ‘VMware PVSCI Controller’ listed here.
h. Power down the virtual machine.
i. Remove the added virtual disk.
j. Change the first virtual controller to the VMware Paravirtual controller.
k. Power on the virtual machine.
Step 2 Increase Queue Depth of the PVSCSI Controller to 255
a. In the Windows VM Click Start > Run, type regedit, and press Enter. The Registry Editor window opens.
b. Navigate to this path:
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicespvscsiParametersDevice] If the end of the path does not exist, create the last keys.
c. In the Device key, create or modify a string value named DriverParameter.
d. Set the value data of the DriverParameter to:
Do not remove the quotation marks.
e. Reboot the guest operating system.