← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1800755] [NEW] The instance_faults table is too large, leading to slow query speed of command: nova list --all-t

 

Public bug reported:

Description
===========
The execution of command: nova list --all-t, takes 50+ seconds, but the number of virtual machines is only 50.
This is because this command will call the function fill_faults() in "\nova\objects\instance.py", and this function
will query the database table: instance_faults. If the number of records in this table is too large, the performance will be very poor.

For example, in my openstack, due to many wrong operations, the record
number is more than 250 thousand and query time is 50+ second.

In my opinion, as time goes on, data will become more and more, and
query performance will be lower and lower. So, we need a plan to ensure
that query performance is not affected by data volume.


Steps to reproduce
==================
This bug is not easy to reproduce, unless your data is large too.


Environment
===========
[root@nail1 ~]# rpm -qa | grep nova
openstack-nova-api-18.0.2-1.el7.noarch
openstack-nova-common-18.0.2-1.el7.noarch
python2-novaclient-11.0.0-1.el7.noarch
openstack-nova-placement-api-18.0.2-1.el7.noarch
openstack-nova-scheduler-18.0.2-1.el7.noarch
openstack-nova-conductor-18.0.2-1.el7.noarch
openstack-nova-novncproxy-18.0.2-1.el7.noarch
python-nova-18.0.2-1.el7.noarch
openstack-nova-compute-18.0.2-1.el7.noarch
openstack-nova-console-18.0.2-1.el7.noarch

hypervisor:
Libvirt + KVM

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: list nova performance

** Tags added: list

-- 
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/1800755

Title:
  The instance_faults table is too large, leading to slow query speed of
  command: nova list --all-t

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========
  The execution of command: nova list --all-t, takes 50+ seconds, but the number of virtual machines is only 50.
  This is because this command will call the function fill_faults() in "\nova\objects\instance.py", and this function
  will query the database table: instance_faults. If the number of records in this table is too large, the performance will be very poor.

  For example, in my openstack, due to many wrong operations, the record
  number is more than 250 thousand and query time is 50+ second.

  In my opinion, as time goes on, data will become more and more, and
  query performance will be lower and lower. So, we need a plan to
  ensure that query performance is not affected by data volume.

  
  Steps to reproduce
  ==================
  This bug is not easy to reproduce, unless your data is large too.

  
  Environment
  ===========
  [root@nail1 ~]# rpm -qa | grep nova
  openstack-nova-api-18.0.2-1.el7.noarch
  openstack-nova-common-18.0.2-1.el7.noarch
  python2-novaclient-11.0.0-1.el7.noarch
  openstack-nova-placement-api-18.0.2-1.el7.noarch
  openstack-nova-scheduler-18.0.2-1.el7.noarch
  openstack-nova-conductor-18.0.2-1.el7.noarch
  openstack-nova-novncproxy-18.0.2-1.el7.noarch
  python-nova-18.0.2-1.el7.noarch
  openstack-nova-compute-18.0.2-1.el7.noarch
  openstack-nova-console-18.0.2-1.el7.noarch

  hypervisor:
  Libvirt + KVM

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