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