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/670162 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=ae1d36fa9d8 e2115a5241b5da2 e941cdefa2c463
Committed: https:/
Submitter: Zuul
Branch: master
commit ae1d36fa9d8e211 5a5241b5da2e941 cdefa2c463
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