← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1834484] [NEW] [QoS] qos_plugin._extend_port_resource_request is killing port retrieval performance

 

Public bug reported:

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

** Affects: neutron
     Importance: High
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New


** Tags: api qos stein-backport-potential

** Tags added: qos

** Tags added: stein-backport-potential

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

** Description changed:

  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

-- 
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:
  New

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


Follow ups