yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #79174
[Bug 1834484] Re: [QoS] qos_plugin._extend_port_resource_request is killing port retrieval performance
Reviewed: https://review.opendev.org/667998
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=8b00349a63c65e04b3d188366245234e880b7f60
Submitter: Zuul
Branch: master
commit 8b00349a63c65e04b3d188366245234e880b7f60
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date: Thu Jun 27 17:31:14 2019 +0000
Refactor qos_plugin._extend_port_resource_request
In order to speed up the port collection, some DB calls
have been deleted in the extended function
"QoSPlugin._extend_port_resource_request".
With the parent commit, the port DB/OVO object now has the
network QoS policy ID, making the network retrieval unneeded.
In this refactor the QoS policy is collected from the DB only
if a valid QoS policy ID exists, bound to the port or to the
network. This reduces the number of QoS objects collection to
one or zero.
Change-Id: Iadf704c00378da99c502dca3e3b79796c368cac7
Closes-Bug: #1834484
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1834484
Title:
[QoS] qos_plugin._extend_port_resource_request is killing port
retrieval performance
Status in neutron:
Fix Released
Bug description:
The function [1], called during the port retrieval, is killing the
performance. Although this code is needed for the BW aware scheduler
(Nova-Neutron RFE), the high number of DB calls done inside this
function is reducing the performance.
Instead of this, we propose:
- To publish inside the port DB object its own network qos policy, if any.
- Use it inside this function to retrieve only once, if needed, the QoS policy.
NOTE: the patches, if accepted, should be cherry-picked into Stein
too.
NOTE: benchmarks: done with 60 ports in a development laptop. Command executed: "openstack port list"
- Stein and master: 6.5 secs
- Stein and master, deleting the code of this function: 1.5 secs
- Rocky: 1.5 secs.
[1]
https://github.com/openstack/neutron/blob/stable/stein/neutron/services/qos/qos_plugin.py#L86
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1834484/+subscriptions
References