[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Benchmark Xen writes with sync - Xen ignores fsync, O_SYNC?



Hi there Xen community,

I am trying to benchmark and compare I/O in Xen/domU to native performance.

In order to do this I started trying to benchmark writes so as to avoid caching effects that surely turn up when performing reads due to the page cache et al.
However, I have quickly run into a problem: Xen domU reports that a 128MB file is written at close to 300MB/s, while the disk's performance peaks at about 80MB/s (I observed this on a dom0 and on a bare-metal kernel with no hypervisor).
Please note that I fsync() after all writes in hopes to avoid the effect of write buffers. I have tried with O_SYNC as well, observing a similar outcome.
I can confirm this writing a simple program, and verified exactly same results running bonnie++ with the fsync() option turned on.

I am surprised to see writes reaching a throughput as high as 300MB/s, as the disk surely isn't physically capable of reaching that bandwidth, meaning that writes are not being really synced to disk. 

Is this a bug in Xen, or is there a way to make Xen not ignore fsync, fdatasync, O_SYNC, etc..? 
How would I proceed to measure and compare real read/write speeds on a Xen domU ?

My disk drivers are specified with "file:/path/to/image.img,xvda,1,w" (I could not get the tapdisk driver to work properly, I tried with vanilla 3.2 and 3.0.0 ubuntu kernels)
Xen is version 4.1.1 and is running Oneiric domUs (kernel 3.0.0)
For the dom0 I have a 3.2 vanilla kernel and a ubuntu (oneiric) 3.0.0 kernel

Thank you in advance,

Pablo
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.