Re: Sequential write performance on cloning images

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



How and when did you compare the IOPS from the clone against the IOPS
from the parent?

On Mon, Aug 15, 2016 at 11:58 PM, Ridge Chen <ridge.chen@xxxxxxxxx> wrote:
> Hi
>
> The parent image of "clone-vol1", which is "ori-vol1", is not touched
> during the test.
>
> Regards
> Ridge
>
> 2016-08-16 10:22 GMT+08:00 Jason Dillaman <jdillama@xxxxxxxxxx>:
>> The "assert object exists" check is just a "stat" op inserted before
>> the write op in the same transaction.  If the object doesn't exist
>> (i.e. a clone copy-on-write is required), the transaction will fail
>> within the OSD and librbd will know it needs to perform a copy-up.
>> However, in your case, this stat op should be essentially a no-op so I
>> would expect zero performance penalty.
>>
>> Do you rebuild your images after every test run? I ask because one big
>> difference is that when you are writing to the parent image, it has a
>> snapshot so the first write to a backing object would require a
>> copy-on-write operation within the OSD.
>>
>>
>>
>> On Mon, Aug 15, 2016 at 10:05 PM, Ridge Chen <ridge.chen@xxxxxxxxx> wrote:
>>> Hi
>>>
>>> Thanks for your quick response.
>>>
>>> Yes, the result is similar with object-map disabled. And in all my
>>> tests the librbd cache is disabled.
>>>
>>> Could you explain more about the additional "assert object exists"
>>> operation? what it does in osd side?
>>>
>>> And can we bypass the operation in this very common case based on the
>>> object-map feature?
>>>
>>> Regards,
>>> Ridge
>>>
>>> 2016-08-15 20:16 GMT+08:00 Jason Dillaman <jdillama@xxxxxxxxxx>:
>>>> On Sun, Aug 14, 2016 at 10:41 PM, Ridge Chen <ridge.chen@xxxxxxxxx> wrote:
>>>>> I have tested on hammer and jewel, the results are similar. Is it expected?
>>>>
>>>> In this case, there actually would not be an extra copy-up since you
>>>> already performed the necessary copy-ups during the "dd" against
>>>> "clone-vol1". The only difference, on the librbd side, is that the
>>>> write operation would have an additional "assert object exists"
>>>> operation before the write operation.
>>>>
>>>> Do you see similar differences with the librbd cache disabled and the
>>>> object map disabled?
>>>>
>>>>
>>>>
>>>> --
>>>> Jason
>>
>>
>>
>> --
>> Jason



-- 
Jason
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux