neutron-lbaas performance hit due to unnecessary lazy sql calls
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
octavia |
New
|
Undecided
|
Unassigned |
Bug Description
In neutron-lbaas many ORM relationships are configured to be lazy joined. This is causing slow api calls.
The problem is that a call to get a load balancer or a list of load balancers, will recursively get all listeners, pools and members belonging to those load balancer(s). If lazy wasn't used, the initial sql query would instantly retrieve all objects belonging to that load balancer, but as lazy joined is used, it will initially only get the load balancer data, and later have to do additional sql calls to get the remaining objects.
It's worth mentioning that even if cli calls only show limited data on a load balancer, internally the same call would return data containing listeners, pools and members. Pretty much negating any improvements lazy joined queries brings to the table.