← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1785827] [NEW] Performance regression in libvirt get_available_resource()

 

Public bug reported:

Description
===========
Periodic task update_available_resource takes 20 seconds for 100
instances on local storage:

https://github.com/openstack/nova/blob/stable/pike/nova/compute/resource_tracker.py#L694

Steps to reproduce
==================
1. /etc/nova/nova.conf:
[DEFAULT]
preallocate_images=space
[libvirt]
images_type=raw

2. Launch 100 instances on the host

3. See, that every update_available_resource() takes 20 seconds

This performance regression was introduced in this commit:
https://github.com/openstack/nova/commit/d88b75e81eabfbd463007f6a4f27e6966a466530
and following commit doubles the time:
https://github.com/openstack/nova/commit/938c0a745325fa73d098c6d5ddd20b2a599f9624

Expected result
===============
update_available_resource() takes less than 5 seconds

Actual result
=============
update_available_resource() lasts for 20-30 seconds

Environment
===========
1. Exact version of OpenStack you are running:
OpenStack Pike
nova 16.1.4, commit b58c7f0

2. Which hypervisor did you use?
   Libvirt + KVM/QEMU

2. Which storage type did you use?
   local storage, raw

** Affects: nova
     Importance: Undecided
         Status: New

** Summary changed:

- Performance regression in libvirt get_available_resource(nodename)
+ Performance regression in libvirt get_available_resource()

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

Title:
  Performance regression in libvirt get_available_resource()

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========
  Periodic task update_available_resource takes 20 seconds for 100
  instances on local storage:

  https://github.com/openstack/nova/blob/stable/pike/nova/compute/resource_tracker.py#L694

  Steps to reproduce
  ==================
  1. /etc/nova/nova.conf:
  [DEFAULT]
  preallocate_images=space
  [libvirt]
  images_type=raw

  2. Launch 100 instances on the host

  3. See, that every update_available_resource() takes 20 seconds

  This performance regression was introduced in this commit:
  https://github.com/openstack/nova/commit/d88b75e81eabfbd463007f6a4f27e6966a466530
  and following commit doubles the time:
  https://github.com/openstack/nova/commit/938c0a745325fa73d098c6d5ddd20b2a599f9624

  Expected result
  ===============
  update_available_resource() takes less than 5 seconds

  Actual result
  =============
  update_available_resource() lasts for 20-30 seconds

  Environment
  ===========
  1. Exact version of OpenStack you are running:
  OpenStack Pike
  nova 16.1.4, commit b58c7f0

  2. Which hypervisor did you use?
     Libvirt + KVM/QEMU

  2. Which storage type did you use?
     local storage, raw

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


Follow ups