[ovs-dev] [PATCH ovn 0/4] Avoid parsing non-local lflows with the help of tags in SB.
Han Zhou
hzhou at ovn.org
Fri Jul 16 00:07:14 UTC 2021
With the help of logical_flow's in_out_port tag, we can skip parsing a
big portion of the logical flows in SB DB, which can largely improve
ovn-controller's performance whenever a full recompute is required.
With a scale test topology of 1000 chassises, 20 LSPs per chassis, 20k
lports in total spread acrossing 200 logical switches, connected by a
logical router, the test result before & after this change:
Before:
- lflow-cache disabled:
- ovn-controller recompute: 2.7 sec
- lflow-cache enabled:
- ovn-controller recompute: 2.1 sec
- lflow cache memory: 622103 KB
After:
- lflow-cache disabled:
- ovn-controller recompute: 0.83 sec
- lflow-cache enabled:
- ovn-controller recompute: 0.71 sec
- lflow cache memory: 123641 KB
(note: DP group enabled for both)
So for this test scenario, when lflow cache is disabled, latency reduced
~70%; when lflow cache is enabled, latency reduced ~65% and lflow cache
memory reduced ~80%.
Changes after the RFC patch:
- Rebase on master
- Add ddlog changes
- Add an ovn-northd test case to make sure the tags are added
Han Zhou (4):
ovn-northd.at: Minor improvement for the dp group test case.
ovn-sb: Add tags column to logical_flow table of the SB DB.
ovn-northd: Populate in_out_port in logical_flow table's tags.
ovn-controller: Skip non-local lflows in ovn-controller before
parsing.
controller/lflow.c | 21 ++
northd/ovn-northd.c | 272 ++++++++++++++----------
northd/ovn_northd.dl | 495 +++++++++++++++++++++++++------------------
ovn-sb.ovsschema | 7 +-
ovn-sb.xml | 23 ++
tests/ovn-northd.at | 23 +-
6 files changed, 520 insertions(+), 321 deletions(-)
--
2.30.2
More information about the dev
mailing list