Re: head object read with range get on RGW

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

 




----- Original Message -----
> From: "Yuan Zhou" <yuan.zhou@xxxxxxxxx>
> To: "Ceph Devel" <ceph-devel@xxxxxxxxxxxxxxx>, "Yehuda Sadeh-Weinraub" <yehuda@xxxxxxxxxx>
> Sent: Monday, July 13, 2015 4:46:20 AM
> Subject: head object read with range get on RGW
> 
> Hi Yehuda,
> 
> I trace the code and the read op seems happen at RGWRados::raw_obj_stat()?
> This looks like some unnecessary if the range does not fall on to the head
> object.
> I tried to set the rgw_max_chunk_size = 0 and it's not working on the PUT
> side.
> Do you have any ideas on how to avoid this read?
> 

There's a call to RGWRados::set_prefetch_data() in RGWGetObj::verify_permission(), probably need to limit it there.

I also think you could come up with a system that will remove the need to completely read the head object's metadata, so that you won't need to access the remote osd if accessing the tail. The idea is from your proxy to send the object's metadata with the GET request in a special header, and then update the internal rgw structure that caches this data. Will require some special tweaking but might be worth it.

Yehuda
--
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