[libvirt] [PATCH 2/2] Adjust block size used by dd to speed QEMU domain save operations.

Daniel P. Berrange berrange at redhat.com
Fri Jun 4 14:38:07 UTC 2010


On Fri, Jun 04, 2010 at 08:23:32AM -0600, Eric Blake wrote:
> On 06/04/2010 02:28 AM, Daniel P. Berrange wrote:
> > On Thu, Jun 03, 2010 at 11:57:33PM -0400, Laine Stump wrote:
> >> See https://bugzilla.redhat.com/show_bug.cgi?id=599091
> >>
> >> Saving a paused 512MB domain took 3m47s with the old block size of 512
> >> bytes. Changing the block size to 1024*1024 decreased the time to 56
> >> seconds. (Doubling again to 2048*1024 yielded 0 improvement; lowering
> >> to 512k increased the save time to 1m10s, about 20%)
> > 
> > Surely we should have gone for 1024*1024  in this case ?
> > 
> > NB, since our XML header gets rounded up to a multiple of the block
> > size, smaller is better, because we're filling the disk with zeros
> > here :-)
> 
> In that case, it may be better to have two constants - the preferred
> transfer size (1M), and the XML padding block size (512 as before, or
> perhaps 4k given newer disk architectures that prefer 4k), along with
> code that allows the final transfer to be shorter than the preferred
> size so long as it is still a multiple of the block size.

That doesn't work because dd can't seek into the file a size less than 
its transfer size. ie the seek=NN parameter is specifying a multiple
of the bs=XX value, not an absolute seek position in bytes.


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list