VMware: Fetching images from Glance is slower than it should be

Bug #1371356 reported by Roman Podoliaka
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Invalid
High
Unassigned
5.0.x
Invalid
High
Unassigned
5.1.x
Invalid
High
Unassigned
6.0.x
Invalid
High
Unassigned

Bug Description

Tags: nova vmware
Changed in mos:
assignee: MOS Nova (mos-nova) → Mike Durnosvistov (mdurnosvistov)
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

When spawning a new instance an image for it must be transferred from Glance to vCenter datastore first. VMWareAPI Nova compute driver is implemented in a way, so that images *are not* stored on nodes running nova-compute+vmwareapi, but rather directly uploaded to vCenter datastore (i.e. nova-compute opens two connections: one to glance-api and another to vCenter). Nova implementation of this file transfer is indeed inefficient and can be optimized (the first step is done here https://review.openstack.org/#/c/72545/ ; we could probably go even further and try to use sendfile() system call, if needed).

However, our observations show that nova-compute *is not* the root cause of the issue, but vCenter is. We used tcpdump and strace to monitor nova-compute behavior when the image is uploaded to vCenter datastore. It turns out, that vCenter datastore is not able to keep the pace and tends to reduce the TCP window periodically up to setting it to 0 (i.e. it asks nova-compute to stop sending more data) periodically: when transferring a 17 Mb image, we've seen TCP window size set to 0 29 times. This leads to inefficient bandwidth usage and slow upload speed values. In other words, vCenter datastore is a bottleneck here.

Please see the figure attached (moments when TCP win is set to 0 are shown as red lines, blue markers show the upload speed value in a moment of time, the average upload speed value is shown as a green line).

The bottom line is we can tweak nova-compute a bit, but this won't help much. From what we see, the problem is on vCenter side. Marking this as invalid until we get more data from Partner Integration team.

Revision history for this message
Andrey Danin (gcon-monolake) wrote :

It was fixed in vCenter 5.5u2 at Sep, 9 2014.
See the "vCenter Server takes a long time to upload file" item in resolved issues:
https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-55u2-release-notes.html

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.