[ovs-git] [ovn-org/ovn] c1e389: northd: Use address sets for ARP responder flows f...
Dumitru Ceara
noreply at github.com
Wed Oct 6 00:59:35 UTC 2021
Branch: refs/heads/main
Home: https://github.com/ovn-org/ovn
Commit: c1e3896c0a393c035f301db6c1a8431adda57eb0
https://github.com/ovn-org/ovn/commit/c1e3896c0a393c035f301db6c1a8431adda57eb0
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-10-05 (Tue, 05 Oct 2021)
Changed paths:
M northd/northd.c
M tests/ovn-northd.at
Log Message:
-----------
northd: Use address sets for ARP responder flows for VIPs.
Otherwise the S_ROUTER_IN_IP_INPUT aggregated flows that reply to ARP
requests targeting load balancer VIPs get completely regenerated every
time a new VIP/LB is added. This affects SB memory usage as RAFT log
entries are huge. Use an address set instead. Updating an address set
is incremental, because it's performed with a "mutate" operation.
On a large scale ovn-kubernetes deployment with a high number of
load balancers (services) this change reduces memory usage of
ovsdb-servers running the OVN_Southbound cluster by 50%, from ~2GB
RSS to ~1GB RSS.
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: f6aba21c9de8952beccf7ee7e98cfa28618f1edf
https://github.com/ovn-org/ovn/commit/f6aba21c9de8952beccf7ee7e98cfa28618f1edf
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-10-05 (Tue, 05 Oct 2021)
Changed paths:
M NEWS
M northd/northd.c
M ovn-nb.ovsschema
M ovn-nb.xml
M tests/ovn-northd.at
M utilities/ovn-nbctl.c
Log Message:
-----------
nb: Add support for Load_Balancer_Groups.
For deployments when a large number of load balancers are associated
to multiple logical switches/routers, introduce a syntactic sugar
in the OVN_Northbound database (Load_Balancer_Groups) to simplify
configuration.
Instead of associating N Load_Balancer records to M Logical_Switches
(M x N references in the NB database) we can instead create a single
Load_Balancer_Group record, associate all N Load_Balancer records to
it, and associate it to all M Logical_Switches (in total M + N
references in the NB database).
This makes it easier for the CMS to configure Load Balancers (e.g., in
the ovn-kubernetes use case cluster load balancers are applied to all
node logical switches and node logical gateway routers) but also
drastically improves performance on the ovsdb-server NB side. This
happens thanks to the fact that ovsdb-server now has to track M times
less references.
With a micro benchmark which creates 120 logical switches and
associates 1000 load balancers to them (with ovn-nbctl daemon) we
measure:
CPU Time NB DB CPU Time ovn-nbctl
-----------------------------------------------------
Plain LB: 30s 35s
LB Groups: 1s 2s
Reported-at: https://bugzilla.redhat.com/2001528
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Compare: https://github.com/ovn-org/ovn/compare/558fd0e7b4d9...f6aba21c9de8
More information about the git
mailing list