[linux-lvm] Why is the performance of my lvmthin snapshot so poor
Zhiyong Ye
yezhiyong at bytedance.com
Tue Jun 14 13:29:17 UTC 2022
在 6/14/22 8:56 PM, Gionatan Danti 写道:
> Il 2022-06-14 12:16 Zhiyong Ye ha scritto:
>> After creating the PV and VG based on the iSCSI device, I created the
>> thin pool as follows:
>> lvcreate -n pool -L 1000G test-vg
>> lvcreate -n poolmeta -L 100G test-vg
>> lvconvert --type thin-pool --chunksize 64k --poolmetadata
>> test-vg/poolmeta test-vg/pool
>> lvchange -Z n test-vg/pool
>
> I did my performance test with bigger chunk size, in the range of
> 128-512K. It can very well be that the overload of a smaller chunk size
> results in 10x lower IOPs for to-be-allocated-and-copied chunks. Can you
> retry fio after increasing chunk size?
Yes, I also tested the write performance after creating snapshots with
different chunksize. But the data shows that the larger the chunksize,
the worse the performance. The data is shown below:
chunksize iops
64k 5245
256k 2115
1024k 509
The reason for this may be that when the volume creates a snapshot, each
write to an existing block will cause a COW (Copy-on-write), and the COW
is a copy of the entire data block in chunksize, for example, when the
chunksize is 64k, even if only 4k of data is written, the entire 64k
data block will be copied. I'm not sure if I understand this correctly.
More information about the linux-lvm
mailing list