Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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@redhat.com> Signed-off-by: Numan Siddique <numans@ovn.org>
- Loading branch information
1 parent
c1e3896
commit f6aba21
Showing
6 changed files
with
424 additions
and
130 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.