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
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel
--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel