On 03/23/2017 05:35 PM, Michael
McCarthy wrote:
Hello, collective wisdom,
I'm new to the list and apologize if this is not the right
place to ask this type of question and if so, would be glad
receive pointers to the correct one.
Now the question:
I'm looking for ways to improve snapshot-merge target
performance. We're using CentOS 7.3 here. Both, the
snapshot-origin and the snapshot (cow data holder) reside on
NVMe SSDs. What we've seen in our tests is that the speed of
the merge isn't approaching neither the throughput nor the
IOPS limits of the NVMe devices. I suspect it might be because
the merge operation is single threaded and uses QD of 1.
Yes, that's practically what it is.
Snapshot merge is based on dm-kcopyd (device-mapper kernel copy
daemon).
The merge performs copies from the snapshots exception store to the
origin LV sequentially.
In each step It maximizes the payload per copy in case it identifies
sequential origin chunks
in consecutive entries in the snapshot exception store.
The success of this optimization depends on previous update patterns
on snapshot and origin:
- the more sequential update patterns occured the better
- with random update patterns the paylod per copy will drop to
snapshot chunk_size worst case
There's no knob to tweak this.
The "snapshot-merge" target would need to be enhanced.
Heinz
Could anyone with enough knowledge about the DM code shed
some light on how it operates during the merge? Are there any
interfaces to improve the speed of this operation without
altering the code?
Thanks,
Mike
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel
|
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel