VMware local disks needs WriteBack Cache

When using VMware servers and local hard drives, make sure one uses a battery backed cache card.

What an operating system does when it wants to write to a drive, is it waits for confirmation from the drive/controller to make sure the data is written before it sends more data (write-through).  This is VERY SLOW.  Windows gets by this by doing some creative caching that eats up system RAM; where as VMware, relies solely on the hardware.  The alternative is write-back, where the drive write confirmations are done by the controller, the data is cached while waiting for the disk to actually write it, and the OS continue to sends more data.  In a way it is kinda sorta like TCP vs. UDP.

Just to test this...I have an HP Proliant ML310 with four 250gb 7200rpm SATA drives in a RAID 10 configuration; the RAID controller is a SmartArray P212.  Vmware v5.5 is installed.  The test VM is a Win7 x86 machine w/ a single CPU and 4gb of ram.

This image, the VM on is on the RAID...baseline, as you can see the performance is dismal.

This image, I turned on the cache that is on the hard drives (the hard drive cache, not the RAID card cache).

This image is the VM on a single SATA 160gb drive connected to the systems board's SATA controller.  Notice how a single drive is significantly faster.

This image is with a 512mb battery backed cache installed on the RAID card.

No comments:

Post a Comment