← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1721423] Re: [Performance] Bad performance on instances list panel

 

Reviewed:  https://review.openstack.org/509676
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=fa2e8327b9d0a10f29a4fbe3094a4533914b8ce3
Submitter: Jenkins
Branch:    master

commit fa2e8327b9d0a10f29a4fbe3094a4533914b8ce3
Author: Feilong Wang <flwang@xxxxxxxxxxxxxxx>
Date:   Thu Oct 5 14:37:34 2017 +1300

    Add cache for get_microversion() against Nova
    
    Actions "Lock" and "Unlock" of instance on instances table are calling
    api.nova.is_feature_available() to check if the feature is supported
    by current Nova server. Unfortunately, the function get_microversion()
    called by is_feature_available() is not cached, which is causing about
    40 unnecesary REST API calls. If the Nova's version is under Mitaka,
    it could be even worse, about 80 unnecesary API calls, see
    openstack_dashboard/api/nova.py#L60 and
    novaclient/v2/versions.py#L47 for more details.
    
    Closes-Bug: #1721423
    
    Change-Id: Ie96b1a35e379d4cf407bfd53b1ee734178f9cb07


** Changed in: horizon
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1721423

Title:
  [Performance] Bad performance on instances list panel

Status in OpenStack Dashboard (Horizon):
  Fix Released

Bug description:
  I just found there is no cache for microversion check which may cause
  almost 40 unnecessary API calls.

  There are two actions for instances table need to check the microversion in allowed() function, see
  https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/instances/tables.py#L870

  but unfortunately, there is no cache for this check, see
  https://github.com/openstack/horizon/blob/master/openstack_dashboard/api/nova.py#L60

  And function get_microversion(request, feature) is also used by other
  functions. Based on my test, after adding cache for this function,
  about 3+ seconds are saved.

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


References