RE: RGW rados handles

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

 



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

Thanks,
-Pavan.

-----Original Message-----
From: Yehuda Sadeh-Weinraub [mailto:yehuda@xxxxxxxxxx]
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" <Pavan.Rallabhandi@xxxxxxxxxxx>
> To: "Ceph Development" <ceph-devel@xxxxxxxxxxxxxxx>
> Cc: yehuda@xxxxxxxxxx
> 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��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[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