Testing disk performance of virtual machines

benchmarkvirtual-machinesvirtualization

We're considering moving from physical dedicated servers to leased virtual machines. I understand that a common problem with virtual machines is the performance of the SAN they are running from. As a quick test, I wanted to benchmark the performance of a few different virtual machines. I will test my own VM, as a control (no contention) and trial accounts with a couple of major providers like MS Azure.

I'm currently using HD Tune free, but I think I'm having a problem with caching. The performance seems low most of the time (slower than an old standard SATA drive) but then suddenly the test will spike to a really high level and messes up the results (as I'm only interested in raw performance – not cached performance). I also see this effect on one of the SCSI based machines (not a VM) I've tested on, so I can only assume that the SCSI controller and SAN controllers are using a large cache.

Is there a better way to test disk performance than using HD Tune, which is perhaps not subject to the problem if disk caching?

Best Answer

I have used the following to great effect in the past

  • Iozone - This one is quite mature and still maintained; also cross platform so Windows and Linux
  • Bonnie++ - Also good but looks a bit unmaintained and I'm not sure how it will run under windows

Both specifically avoid caches. I would have a look at Iozone first and see if that fits your needs.

Related Topic