From: Numan Siddique <[email protected]>
This patch series adds the support to handle load balancer and
load balancer group changes incrementally in the "northd" engine
node. "flow" engine node doesn't support I-P yet and falls back
to full recompute. Changes to logical switches and router's load
balancer and load balancer group columns are also handled incrementally
provided those are the only changes to them.
Below are the scale testing results done with these patches applied
using ovn-heater. The test ran the scenario -
ocp-500-density-heavy.yml [1].
With these patches applied (with load balancer I-P handling in northd
engine node) the resuts are:
-------------------------------------------------------------------------------------------------------------------------------------------------------
Min (s) Median (s) 90%ile (s) 99%ile
(s) Max (s) Mean (s) Total (s) Count Failed
-------------------------------------------------------------------------------------------------------------------------------------------------------
Iteration Total 0.132929 2.157103 3.314847
3.331561 4.378626 1.581889 197.736147 125 0
Namespace.add_ports 0.005217 0.005760 0.006565
0.013348 0.021014 0.006106 0.763214 125 0
WorkerNode.bind_port 0.035205 0.045458 0.052278
0.059804 0.063941 0.045652 11.413122 250 0
WorkerNode.ping_port 0.005075 0.006814 3.088548
3.192577 4.242026 0.726453 181.613284 250 0
-------------------------------------------------------------------------------------------------------------------------------------------------------
The results with the present main are:
-------------------------------------------------------------------------------------------------------------------------------------------------------
Min (s) Median (s) 90%ile (s) 99%ile
(s) Max (s) Mean (s) Total (s) Count Failed
-------------------------------------------------------------------------------------------------------------------------------------------------------
Iteration Total 4.377260 6.486962 7.502040
8.322587 8.334701 6.559002 819.875306 125 0
Namespace.add_ports 0.005112 0.005484 0.005953
0.009153 0.011452 0.005662 0.707752 125 0
WorkerNode.bind_port 0.035360 0.042732 0.049152
0.053698 0.056635 0.043215 10.803700 250 0
WorkerNode.ping_port 0.005338 1.599904 7.229649
7.798039 8.206537 3.209860 802.464911 250 0
-------------------------------------------------------------------------------------------------------------------------------------------------------
Few observations:
- The total time taken has come down significantly from 819 seconds to 197
to complete the density heavy tests (excluding the base cluster
bringup)
- 99%ile with these patches is 3.3 seconds compared to 8.3 seconds for the
main.
- 90%file with these patches is 3.3 seconds compared to 7.5 seconds for
the main.
- CPU utilization of northd during the test with these patches
is between 100% to 300% which is almost the same as main.
Main difference being that, with these patches the test duration is
less and hence overall less CPU utilization.
[1] -
https://github.com/ovn-org/ovn-heater/blob/main/test-scenarios/ocp-500-density-heavy.yml
Numan Siddique (8):
northd I-P: Sync SB load balancers in a separate engine node.
northd: Add a new engine node - lb_data.
northd: Add initial I-P for load balancer and load balancer groups
northd: Refactor the 'northd' node code which handles logical switch
changes.
northd: Handle load balancer changes for a logical switch.
northd: Handle load balancer group changes for a logical switch.
northd: Sync SB Port bindings NAT column in a separate engine node.
northd: Handle load balancer/group changes for a logical router.
lib/lb.c | 286 +++++--
lib/lb.h | 94 ++-
northd/automake.mk | 2 +
northd/en-lb-data.c | 745 ++++++++++++++++++
northd/en-lb-data.h | 94 +++
northd/en-lflow.c | 9 +-
northd/en-northd.c | 119 ++-
northd/en-northd.h | 3 +
northd/en-sync-sb.c | 74 ++
northd/en-sync-sb.h | 10 +
northd/inc-proc-northd.c | 32 +-
northd/northd.c | 1566 +++++++++++++++++++++++++-------------
northd/northd.h | 39 +-
tests/ovn-northd.at | 261 +++++++
14 files changed, 2704 insertions(+), 630 deletions(-)
create mode 100644 northd/en-lb-data.c
create mode 100644 northd/en-lb-data.h
--
2.40.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev