[glance] Slow image download when using glanceclient

Lucio Seki lucioseki at gmail.com
Thu Oct 13 19:21:07 UTC 2022


Thanks Sean, that makes much easier to code!

```
...
conn = openstack.connect(cloud_name)

with open(path, 'wb') as image_file:
    response = conn.image.download_image(image_name)
    for chunk in tqdm(response.iter_content(), **tqdm_params):
        image_file.write(chunk)
```

And it gave me some performance improvement (3kB/s -> 120kB/s).
... though it would still take several days to download an image.

Is there some tuning that I could apply?

On Thu, Oct 13, 2022, 14:18 Sean Mooney <smooney at redhat.com> wrote:

> On Thu, 2022-10-13 at 13:30 -0300, Lucio Seki wrote:
> > Hi glance experts,
> >
> > I'm using the following code to download a glance image:
> >
> > ```
> > from glanceapi import client
> > ...
> > glance = client.Client(GLANCE_API_VERSION, session=sess)
> > ...
> > with open(path, 'wb') as image_file:
> >     data = glance.images.data(image_id)
> >     for chunk in tqdm(data, unit='B', unit_scale=True,
> unit_divisor=1024):
> >         image_file.write(chunk)
> > ```
> >
> > And I get a speed around 3kB/s. It would take months to download an
> image.
> > I'm using python3-glanceclient==3.6.0.
> > I even tried:
> > ```
> >     for chunk in tqdm(data, unit='B', unit_scale=True,
> unit_divisor=1024):
> >         pass
> > ```
> > to see if the bottleneck was the disk I/O, but didn't get any faster.
> >
> > In the same environment, when I use the glance CLI instead:
> >
> > ```
> > glance image-download --file $path $image_id
> > ```
> > I get hundreds of MB/s download speed, and it finishes in a few minutes.
> >
> > Is there anything I can do to improve the glanceclient performance?
> > I'm considering using subprocess.Popen(['glance', 'image-download', ...])
> > if nothing helps...
> have you considered using the openstacksdk instead
>
> the glanceclint is really only intendeted for other openstack service to
> use like
> nova or ironic.
> its not really ment to be used to write your onw code anymore.
> in the past it provided a programatic interface for interacting with glance
> but now you shoudl prefer the openstack sdk instead.
> https://github.com/openstack/openstacksdk
>
> >
> > Regards,
> > Lucio
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20221013/f131efe3/attachment.htm>


More information about the openstack-discuss mailing list