[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] extremely low IOPS performance of QCOW2 image format on
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] extremely low IOPS performance of QCOW2 image format on an SSD RAID1 |
Date: |
Tue, 24 Jun 2014 12:15:46 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 24.06.2014 um 09:25 hat lihuiba geschrieben:
> >Can you confirm that making L2_CACHE_SIZE much bigger solves the
> >problem?
> Yes, it is confirmed.
> When I run fio randread with a 7GB or 8GB size, result is close to that of
> raw image.
> But when the size is increased to 9GB, the result drops dramatically. And I
> have modified
> qcow2-cache.c to print a log when cache misses. When testing the 9GB size,
> there are
> lots of cache misses shown.
>
> >You also have the optional of specifying the cluster size when creating
> >the qcow2 image file. A larger cluster size reduces the amount of
> >metadata overhead and therefore increases cache hits.
> I didn't find any command-line option to increase the size of the cache, so I
> increased
> cluster_size to 1MB or 2MB. This worked very well for me.
>
> BTW
> qemu-img of version 1.7.1 has bug when creating qcow2 image with options
> preallocation=metadata
> and cluster_size > 64K. It reports:
>
>
> # qemu-img create -f qcow2 -o preallocation=metadata,cluster_size=1M
> asdf.qcow2 100G
> Formatting 'asdf.qcow2', fmt=qcow2 size=107374182400 encryption=off
> cluster_size=1048576 preallocation='metadata' lazy_refcounts=off
> qemu-img: block/qcow2-cluster.c:1196: qcow2_alloc_cluster_offset: Assertion
> `n_start * (1ULL << 9) == offset_into_cluster(s, offset)' failed.
This appears to be fixed in current git master.
Kevin