[pve-devel] qcow2 internal snapshot: 4k write speed reduce to 100~200 iops on ssd ?

DERUMIER, Alexandre alexandre.derumier at groupe-cyllene.com
Thu Sep 19 15:50:41 CEST 2024


>>Hi,

Hi Fiona, 

sorry I didn't see your response.


>>Is the performance drop also this big with the local storage?

yes. (The result is even worst on nfs, or gfs/ocfs2)


>>A performance drop is of course expected, because AFAIU it needs to
>>do
>>COW for the sectors that the snapshot references, but the drop does
>>sound rather dramatic in your case. The performance should be better
>>again once the COW is done, e.g. when running another test
>>afterwards. I
>>quickly tested in a nested VM with qcow2 disk on a directory storage
and
>>--numjobs=4:²
>>
>>ran test, got ~33k IOPS
>>made a snapshot
>>ran test, got ~20k IOPS (it starts out very slow and then recovers)
>>ran test, got ~33k IOPS again
>>

 I have tested with another server, I around 60k write and going down
to 600~1000k iops max when a snapshot is token. 


I need to increase slowing after some time, maybe 2~3min to get 20k
iops
and 7~10min to get 50kiops again

I'm testing with a 100gb disk

Maybe is is related to metadatas preallocation ? (I'm not sure, but
when you have a new snapshot, the preallocated metadatas are not using
anymore ?)


Anyway, I just send patch for external qcow2 snapshot :)
If somebody have time to review it ^_^


Thanks again for your response !




> is it expected ?
> 
> (I don't have use qcow2 snapshot since 10year, so I really don't 
>  remember performance).
> 

Best Regards,
Fiona

> 
> Using external snapshot file, I'm around 10000iops.
> 
> test inside the vm:
> 
> fio --filename=/dev/sdX --ioengine=libaio --direct 1 --bs=4k  --
> rw=randwrite --numjobs=64
> 
> 




More information about the pve-devel mailing list