Hi Yehuda,

Thanks for your answers.

The situation behind these questions is we found that an application data
load is > 512KB and <4MB (maybe < 1 MB more precisely). The GET request
usually requires 2 rados read ops. If there is a way we can configure the
RGW_MAX_CHUNK_SIZE to a number between 512KB and 1MB, only 1 read op will
be needed. So we can get total latency improved much even the first byte
latency increased very little.

Thanks,
Ray

On 2/21/14, 4:46 AM, "Yehuda Sadeh" <yeh...@inktank.com> wrote:

>Apparently I missed including the mailing list in the response.
>
>---------- Forwarded message ----------
>From: Yehuda Sadeh <yeh...@inktank.com>
>Date: Thu, Feb 20, 2014 at 9:04 AM
>Subject: Re: [ceph-users] [rgw] increase the first chunk size
>To: Ray Lv <ra...@yahoo-inc.com>
>
>
>On Thu, Feb 20, 2014 at 5:08 AM, Ray Lv <ra...@yahoo-inc.com> wrote:
>> Hi,
>>
>> Currently, the first chunk size of a radosgw object is 512KB.
>>
>> Here is a case that most of data workload gets to radosgw is ~ 4MB.
>>With the
>> current first chunk size, each radosgw object is stripped to two chunks
>> (512K + 3.5M). And we're using several large disks on each host with
>>40TB
>> capacity. So there will be 10 millions of files on each host. If the
>>first
>> chunk size is increased to 4MB, the number of files on each host will be
>> reduced by 50%. It will be benifitial to performance of read because of
>> reduced dcache and inode cache footprint in main memory (in other words,
>> increased cache hit ratio).
>>
>> The questions are:
>>
>> What's the rationale behind for the current first chunk size?
>
>The head side conforms to the read chunk side. The gateway reads in
>512k chunks. This is the basic read unit, and when accessing an object
>we access the head only once and read the entire data + all its
>attributes in one compound rados operation. This is done to ensure
>atomicity. We don't have any knowledge as to whether the operation is
>deemed to fail later on (e.g., insufficient permissions), so it's
>going to read it anyway.
>
>> Are there any side effects if it is increased to 4MB?
>
>Will require reading the head in a single operation, which can be a
>problem with regard to concurrency, add latency to all operations
>(will take more time to stream data back to the client). Unauthorized
>requests will use more resources.
>
>
>Yehuda


_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to