commit f9a89b7065ff4a15bf7ce14a983e8934cd4710f4
Author: Chris Behrens <email address hidden>
Date: Mon Mar 18 20:26:02 2013 +0000
Fix XenAPI performance issue
This patch implements 'list_instance_uuids' in the xenapi virt driver so
that compute manager's '_get_instances_on_driver' can operate more
efficiently.
The cleanup_running_deleted_instances periodic task uses the above call
while context has been modified to be read_deleted='yes'. Without
list_instance_uuids being implemented in xenapi, there's a fallback to
querying all instances on the host. Because of read_deleted='yes', this
queries all instances that have ever lived on the host. In a very busy
environment where instances are repeatedly built and destroyed, one can
end up with thousands of deleted instances. Now that we are storing
instance_type data in system_metadata and system_metadata is joined with
every instance_get, this results in 10x the number of rows being
returned with sqlalchemy... the fallback doesn't perform well enough.
Reviewed: https:/ /review. openstack. org/24704 github. com/openstack/ nova/commit/ f9a89b7065ff4a1 5bf7ce14a983e89 34cd4710f4
Committed: http://
Submitter: Jenkins
Branch: master
commit f9a89b7065ff4a1 5bf7ce14a983e89 34cd4710f4
Author: Chris Behrens <email address hidden>
Date: Mon Mar 18 20:26:02 2013 +0000
Fix XenAPI performance issue
This patch implements 'list_instance_ uuids' in the xenapi virt driver so _on_driver' can operate more
that compute manager's '_get_instances
efficiently.
Fixes bug 1097980
The cleanup_ running_ deleted_ instances periodic task uses the above call instance_ uuids being implemented in xenapi, there's a fallback to
while context has been modified to be read_deleted='yes'. Without
list_
querying all instances on the host. Because of read_deleted='yes', this
queries all instances that have ever lived on the host. In a very busy
environment where instances are repeatedly built and destroyed, one can
end up with thousands of deleted instances. Now that we are storing
instance_type data in system_metadata and system_metadata is joined with
every instance_get, this results in 10x the number of rows being
returned with sqlalchemy... the fallback doesn't perform well enough.
Change-Id: I4bbfd69c976980 7cec813af757665 f03d9643460