← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1665967] Re: rally timeouts and poor subnet_update performance

 

Reviewed:  https://review.openstack.org/435748
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=bc306a5512dc7d46737f1822cd2f827f87b95f9c
Submitter: Jenkins
Branch:    master

commit bc306a5512dc7d46737f1822cd2f827f87b95f9c
Author: Kevin Benton <kevin@xxxxxxxxxx>
Date:   Sat Feb 18 21:25:30 2017 -0800

    Avoid loading network and all rels for subnet query
    
    The Subnet model has a relationship to Network that is only
    used for bumping the revision of the network. However, loading
    the network loads all of its relationships as well so we end
    up wasting a bunch of time loading segments, DHCP agents, etc all
    for no reason. During a subnet update, we get the subnet from the
    DB several times (policy engine, before update, after update,
    and dhcp agent scheduler) so the slowness in get_subnet is amplified.
    
    The recent switch to subqueries[1] has made loading all of this
    unrelated data much more expensive since each relationship requires
    a query, which was likely what brought this problem to the surface.
    
    This adjusts the relationship to just load the standard attr object
    of the network directly so we can still bump the revision of the network
    without having to load the network itself.
    
    This resulted in a ~20%-30% reduction of time spent in single update-subnet
    operations on my dev environment (1sec to 650-850ms).
    
    1. I6952c48236153a8e2f2f155375b70573ddc2cf0f
    
    Closes-Bug: #1665967
    Change-Id: Ie5f956ddf0704a5dde6e4f801a446f48fea5f697


** 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/1665967

Title:
  rally timeouts and poor subnet_update performance

Status in neutron:
  Fix Released

Bug description:
  Subnet updates are very expensive in the rally runs (compared to net
  and subnet creates).

  On the create and update subnet scenario we do 400 iterations with 2
  subnet updates each. Each update is averaging a cost of 8 seconds.
  With two concurrent runners, we end up spending 10 minutes on this
  single task. This is likely leading to many of the rally timeouts.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1665967/+subscriptions


References