On Mon, Jun 23, 2014 at 02:20:25PM +0800, lihuiba wrote: > I think I have found the reason: > There's a cache in qemu that accelerates the transform of virtual LBA to > cluster offset of qcow2 image. > The cache has a fixed size of 16x8192=128k in my configuration, which > corresponds to a 8GB (128K*64KB) > mapping size. So when the "working set" of fio exceeds 8GB, the transform wil > be degraded to reading > external table, and the performances goes extremely low.
Can you confirm that making L2_CACHE_SIZE much bigger solves the problem? 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. Stefan
pgpXPugzcwMEj.pgp
Description: PGP signature