FirewallDriver.process_trusted_ports" is called with many ports,
"_initialize_egress_no_port_security" retrieves the VIF ports
("Interface" registers in OVS DB), one per iteration, based in the
port_id. Instead of this procedure, if the DB is called only once to
retrieve all the VIF ports, the performance increase is noticeable.
E.g.: bridge with 1000 ports and interfaces.
Reviewed: https:/ /review. opendev. org/705186 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=843eccb9ee4 81f6eb5c47a84f9 1f8f8487d8a7c1
Committed: https:/
Submitter: Zuul
Branch: stable/stein
commit 843eccb9ee481f6 eb5c47a84f91f8f 8487d8a7c1
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Wed Jul 10 18:57:02 2019 +0000
Improve "OVSFirewallDri ver.process_ trusted_ ports"
FirewallDri ver.process_ trusted_ ports" is called with many ports, e_egress_ no_port_ security" retrieves the VIF ports
"_initializ
("Interface" registers in OVS DB), one per iteration, based in the
port_id. Instead of this procedure, if the DB is called only once to
retrieve all the VIF ports, the performance increase is noticeable.
E.g.: bridge with 1000 ports and interfaces.
Retrieving 100 ports:
- Bulk operation: 0.08 secs
- Loop operation: 5.6 secs
Retrieving 1000 ports:
- Bulk operation: 0.08 secs
- Loop operation: 59 secs
Closes-Bug: #1836095
Related-Bug: #1836023
Change-Id: I5b259717c0fdb8 991f1df86b1ef4f b8ad0f18e70 5a5241b5da2e941 cdefa2c463)
(cherry picked from commit ae1d36fa9d8e211