yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #94966
[Bug 2090782] [NEW] Some requests take a lot of time to process in OVN Octavia Provider on huge loadbalancers
Public bug reported:
In the OVN Octavia Provider, when processing a request that retrieves
data from the driver agent via Octavia Lib's DriverLibrary, significant
delays are observed. These delays stem from the to_data_model method of
Octavia's base model
(https://github.com/openstack/octavia/blob/3aaff5e3f7c857f253edf18bac432a32dc15a325/octavia/db/base_models.py#L64).
The issue is particularly severe for large load balancers with many
listeners and pools, where response times can reach almost 30 seconds
for a loadbalancer with 10 pools and 10 listeners.
Previously, a similar issue was reported
(https://bugs.launchpad.net/octavia/+bug/2019311), which led to adding
the recursion_depth argument to this method. However, this feature has
not been implemented in Octavia Driver Agent, Octavia Lib and the OVN
Octavia Provider for optimizing object retrieval.
In practice, the most time-consuming operations in the OVN Octavia
Provider involve fetching objects that require only the main node and
its first-level relationships. For example, in the
_get_current_operating_statuses method of the OvnProviderHelper class
(https://github.com/openstack/ovn-octavia-
provider/blob/1c04edc3b62400db462d95e1b3bf62928d58d22f/ovn_octavia_provider/helper.py#L3146).
Also, retrieving pools, listeners, and the load balancer could benefit
from a limited graph traversal.
** Affects: neutron
Importance: Undecided
Status: New
** Tags: ovn-octavia-provider
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2090782
Title:
Some requests take a lot of time to process in OVN Octavia Provider on
huge loadbalancers
Status in neutron:
New
Bug description:
In the OVN Octavia Provider, when processing a request that retrieves
data from the driver agent via Octavia Lib's DriverLibrary,
significant delays are observed. These delays stem from the
to_data_model method of Octavia's base model
(https://github.com/openstack/octavia/blob/3aaff5e3f7c857f253edf18bac432a32dc15a325/octavia/db/base_models.py#L64).
The issue is particularly severe for large load balancers with many
listeners and pools, where response times can reach almost 30 seconds
for a loadbalancer with 10 pools and 10 listeners.
Previously, a similar issue was reported
(https://bugs.launchpad.net/octavia/+bug/2019311), which led to adding
the recursion_depth argument to this method. However, this feature has
not been implemented in Octavia Driver Agent, Octavia Lib and the OVN
Octavia Provider for optimizing object retrieval.
In practice, the most time-consuming operations in the OVN Octavia
Provider involve fetching objects that require only the main node and
its first-level relationships. For example, in the
_get_current_operating_statuses method of the OvnProviderHelper class
(https://github.com/openstack/ovn-octavia-
provider/blob/1c04edc3b62400db462d95e1b3bf62928d58d22f/ovn_octavia_provider/helper.py#L3146).
Also, retrieving pools, listeners, and the load balancer could benefit
from a limited graph traversal.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2090782/+subscriptions