On Fri, Jul 1, 2016 at 11:07 AM, Russell Bryant <russ...@ovn.org> wrote:
> > > On Fri, Jul 1, 2016 at 1:59 PM, Andy Zhou <az...@ovn.org> wrote: > >> >>> A single, dedicated etcd client handling every other transaction sounds >>> like it could be a scale bottleneck. What do you think? >>> >> >> Yeah, this is not ideal. Suggestions are welcome. >> > > I don't have any suggestions right now... > > >> In OVN-SB use case, transactions are usually only issued by northd, write >> update should not, at least in theory, be >> the performance bottleneck. >> > > At least for OpenStack, the most frequent operation will be creating or > deleting logical ports. Each results in a transaction from both ovn-northd > and ovn-controller right now. ovn-northd updates logical flows and creates > a Port_Binding row (at least). ovn-controller updates the Port_Binding row > to bind the port to a chassis. > Thanks for the information. It seems ovs-northd and ovn-controller updates needs to be serialized, so having one dedicated etcd-client should not make things any worse, compare to having multiple dedicated clients. Having each transaction checked by another client may cause performance drops, There may be opportunities for optimization -- in case the write transaction does not violate referential integrity, the checker will only need to update the version number, not having to issue "fixes" transactions -- but I have no idea how useful they are in real system without prototyping it first. Always enforcing referential integrity is one of the key features of OVSDB, It will be great if we can find a way to implement it when moving to etcd.
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss