I think splitting the the ovsdb-server into two processes is a good idea,
based on the following experiment that I ran this morning:

Setups:

(1) AIO node with default ovsdb_connection_timeout
(2) AIO node with ovsdb_connection_timeout set to 120 seconds + 3 compute
nodes

I attempted to stamp out 4000 copies of the following pattern in the same
openstack project:

n1(s1) --- r1 --- n2(s2)

Setup 1 was quite happy to roll through the whole test without showing the
networking-ovn plugin showing any errors talking to ovsdb-server.  OTOH,
Setup 2 started showing timeouts between the networking-ovn plugin and
ovsdb-server about 85% into the run.

This was not the result I expected and my resulting hypothesis is that the
ovsdb-server process is unable to keep up with both NB and SB changes.

I've talked to Kyle about this (as it's becoming a blocker for our scale
testing) and so I'm willing to spend some time on the following "poor
man's" approach:

(1) Leave the current ovsdb-server process on the default port to manage
the SB db
(2) Spin a new ovsdb-server process to handle the NB db - give it a new
name (ovsdb-server-nb) so that ovn-appctl won't get too confused, and run
it on another port (say 6641).
(3) Modify northd to be able to talk to both ports
(4) Modify the networking-ovn plugin to talk to port 6641.

Corrections and improvements that decrease the amount of work will be
appreciated...

Ryan Moats (regXboi)

"dev" <dev-boun...@openvswitch.org> wrote on 02/03/2016 09:35:32 AM:

> From: Russell Bryant <russ...@ovn.org>
> To: Andy Zhou <az...@ovn.org>, Han Zhou <zhou...@gmail.com>
> Cc: "dev@openvswitch.org" <dev@openvswitch.org>, Lei Huang
<lhua...@ebay.com>
> Date: 02/03/2016 09:35 AM
> Subject: Re: [ovs-dev] [RFC] ovn-controller: Only process lflows for
> local datapaths.
> Sent by: "dev" <dev-boun...@openvswitch.org>
>
> On 02/02/2016 08:36 PM, Andy Zhou wrote:
> >
> > Would it be possible to separate the nb/sb ovsdb-server so we can get a
> > rough idea where performance bottlenecks are? they suppose to be
> > separated in a sailing environment anyways.
>
> Two ovsdb-server processes on the same host is probably sufficient,
> right?  I assume so if ovsdb-server is not multi-threaded (I didn't
> think so..).
>
> Our current tools don't make separating these databases easy.  ovn-ctl
> doesn't support it, and the OVN packaging makes use of ovn-ctl.  This
> area could use some enhancement to give more flexibility.
>
> --
> Russell Bryant
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to