Hi, I'm having trouble benchmarking disk i/o in my vm's. The data I get seems bogus. I have two centos 6 guests which use a raw image as volume. Each volume is stored on its own physical disk and both disks are the same model. The host system is fedora 15 with the virt-preview repo enabled. The disks for the guests use virtio and caching is set to none.
My problem is that I get very different results when I benchmark I/O in these guests even though I shouldn't. Doing a seekmark I get: guest 1: 120 seeks/s guest 2: 220 seeks/s
"hdparm -t" shows: guest 1: 100 MB/s guest 1: 160 MB/s
What's worse is that when I restart the guests the results change and suddenly guest 1 is a lot faster and guest 2 is a lot slower however as long as the guests are running repeating the benchmarks give consistent results.
When I test the disks on the host directly I get: seekmark: /dev/sdb: 75 seeks/s /dev/sdc: 75 seeks/s
hdparm -t: /dev/sdb: 140 MB/s /dev/sdc: 140 MB/s
What bugs me is not so much the absolute numbers (for now) but the fact that these guests give so wildly inconsistent results. Even if the jump from 75 seeks/s to 120 seeks/s from host to guest is explainable by the way block i/o is handled in the virtualization layer I would still expect both guests to return similar results and I would also expect to see similar results across restarts of a single guest.
I've attached the definition for both guests even though they are virtually identical.
Does anyone have an idea what's happening here?
Regards, Dennis