I create an empty 150G volume them copy it to a second pool:
# rbd -p pool0 create --size 153750 steve150
# /usr/bin/time rbd cp pool0/steve150 pool1/steve150
Image copy: 100% complete...done.
303.44user 233.40system 1:52:10elapsed 7%CPU (0avgtext+0avgdata
248832maxresident)k
Notice there is no data in the steve150 volume.
I then repeat with a 100G volume that is full, filled using dd:
# /usr/bin/time rbd cp pool0/steve100 pool1/steve100
Image copy: 100% complete...done.
338.81user 573.55system 2:13:05elapsed 11%CPU (0avgtext+0avgdata
201712maxresident)k
I see threads hitting files in the mon data quite a bit and 35% IOwait
for the whole time the copy is running.
I then repeat the above measurements using a tmpfs/ramdisk for the mon
data. The improvement in time is about 10%, which indicates my spinning
disks are responsible for 10% of the copy latency. Replacing the
spinning disks with SSDs would likely improve the copy performance.
What I don't understand is what is taking so long with the first copy,
the empty volume? If I am correct that there are a small number of
objects associated with this volume, I wonder what is happening during
the copy process?
-Steve
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com