I have performance problems on a virtual hard drive on a VMWare ESX 4.0 virtual machine. See the weird following sequential read speed graph:

Virtual Drive performance

I passed the test several times, and the shape is consistent. The guest OS is Windows Server 2003 Standard Edition x86, and the virtual hard drive is formatted in NTFS.

For the record, this virtual machine worked just right on another ESX server, and has been moved to a new one, using the Migrate command.

Any idea?


There's clearly some degree of caching going on, nothing but FusioIO's IODrives can hit that king of throughput on the right. You don't mention what the actual disk system is but under 100MBps is to be expected, the anomaly is the spike - which can only be the impact of one or more levels of caching.


You might start by comparing the hosts and their storage subsystems for differences. Some things to look for may be along the lines of:

  • Server capacity/utilization
  • Storage subsystem performance & maintenance (e.g. combined performance of disks vs. controller(s), fragmentation, errors, etc.)

It turns out that:

  • As pointed out by Chopper3, the graph generated by HD Tach is highly insignificant.
  • I managed (!) to run IOMeter on my VM, and compare the results with a clone on another ESX server (with different hardware). There is a 10x difference !

After further investigation, we found that this problem was related to the hardware the ESX server is running on (or always buy a Battery-Backed Write Cache pack, and always switch the the onboard disk write cache ON). By manually enabling the cache in the BIOS of the RAID controller, we achieved a 36x performance boost !

  • Yes. BBWC will always improve interactive systems that have heavy load. For example, you never want to run a Citrix PS/XenServer system without it. – mfinni Oct 13 '10 at 14:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.