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

Reply via email to