[dm-devel] Question about merge performance

Heinz Mauelshagen heinzm at redhat.com
Thu Mar 23 23:02:37 UTC 2017



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 at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20170324/f0d04b86/attachment.htm>


More information about the dm-devel mailing list