Thanks for the response Yehuda.  Please find my replies inline  >>

Thanks,
-Pavan.

-----Original Message-----
From: Yehuda Sadeh-Weinraub [mailto:[email protected]]
Sent: Tuesday, April 07, 2015 10:53 PM
To: Pavan Rallabhandi
Cc: Ceph Development; Sage Weil
Subject: Re: RGW rados handles



----- Original Message -----
> From: "Pavan Rallabhandi" <[email protected]>
> To: "Ceph Development" <[email protected]>
> Cc: [email protected]
> Sent: Tuesday, April 7, 2015 7:03:37 AM
> Subject: RGW rados handles
>
> Hi,
>
> As part of characterizing RGW read performance, have observed that
> there is a single RADOS connection that is consumed by so many RGW
> worker threads, resulting in some amount of serialization at that
> level. Making the RADOS handles multiple, and shared across the worker
> threads in a RR fashion, have yielded a factor of ~50% improvement
> (for read requests) in throughput and with much better response times
> on my setup (will share the configuration and results in due course).
>
> Wanted to understand if there is a constraint in having single RADOS
> instance per RGW, that could otherwise be a configurable option, for
> which I have a PR in pipeline.

We discussed this a while back, and iirc, the main issue that was brought was 
that we'd end up creating multiple sockets to the backend, which might be 
problematic both to the client itself, but also to the osds. A similar effect 
would potentially be achieved by adding more gateways.

>> True, but then thought the concern of having multiple sockets at the backend 
>> would still be true, with more gateways. On the other hand, this might 
>> alleviate the burden on the client machines to have so many gateways, 
>> possibly running behind a load balancer.

I'm not aware of any other issues. I'm having trouble coming up with what would 
go wrong. Having multiple rados connection means that certain ordering 
guarantees are lost, but I'm not too sure if and where we rely on these, and it 
will also depend on the way you implemented it. We'd love to see the code.

>> Sure, would send the PR out for review. Have currently implemented it in a 
>> true RR way, where in, a rados handle is picked up from the bunch available 
>> on the fly. Have run some generic swift PUT and GET requests(via COSBENCH) 
>> to find no failures, not so far in my runs.

Yehuda

________________________________

PLEASE NOTE: The information contained in this electronic mail message is 
intended only for the use of the designated recipient(s) named above. If the 
reader of this message is not the intended recipient, you are hereby notified 
that you have received this message in error and that any review, 
dissemination, distribution, or copying of this message is strictly prohibited. 
If you have received this communication in error, please notify the sender by 
telephone or e-mail (as shown above) immediately and destroy any and all copies 
of this message in your possession (whether hard copies or electronically 
stored copies).

N�����r��y����b�X��ǧv�^�)޺{.n�+���z�]z���{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i

Reply via email to