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

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

Yes, I am using "xm create" to instance the guest (xen-tools to actually create the guest image). And yes, I am pretty sure I am using blkback in combination with a loopback device (I'm using file:/ after all). 
But I thought the xend backend systems would somehow, at least, force a fsync() for that file. It seems that when using file:/ sync operations don't really ensure that contents are being synced to disk, but only to the loopback-mounted file, which is probably still affected by the pagecache (but that's only a guess). 

For the record, I tried with phy:/ and a LVM volume and everything works as expected (i.e. sync and fsync operations sync data to disk). 


On Tue, Apr 10, 2012 at 5:25 PM, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> wrote:
On Thu, 5 Apr 2012, Pablo Llopis wrote:
> 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

Are you using xend/xm to create the guest? In that case you are using
a loop device with blkback behind the scenes, that might go through the
disk cache.

Xen-devel mailing list



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