[Openstack] Download file from swift extremely slow

Rick Jones rick.jones2 at hpe.com
Wed Jan 4 17:45:27 UTC 2017


On 01/04/2017 12:59 AM, dongjh at ahope.com.cn wrote:
> Hi experts
>
> I finished the swift installation following the install
> guide(http://docs.openstack.org/project-install-guide/object-storage/draft/get_started.html),
> file upload  is very fast, but file download is extremely slow, why ?
>
> [root at controller admin]#* time openstack object create container1 cirros-0.3.4-x86_64-disk.img*
> +------------------------------+------------+----------------------------------+
> | object                       | container  | etag                             |
> +------------------------------+------------+----------------------------------+
> | cirros-0.3.4-x86_64-disk.img | container1 | ee1eca47dc88f4879d8a229cc70a07c6 |
> +------------------------------+------------+----------------------------------+
>
> real    0m3.807s
> user    0m2.127s
> sys     0m0.161s
>
>
> [root at controller /]#* time  openstack object save container1 cirros-0.3.4-x86_64-disk.img*
> real    5m51.489s
> user    5m48.172s
> sys     0m2.094s

Are you able to run something like netperf or iperf between your client 
and the swift proxy?  For example:

netperf -H <proxy>    # get a feel for "to swift" basic network perf
netperf -H <proxy> -t TCP_MAERTS # get a feel for "from swift"

The idea there is to measure the network separate from the storage and 
swift processing, and go from there.

If there isn't much else happening on your setup at the time, you could 
also look at some snapshots of netstat -s on the proxy when you are 
downloading the object - look to see if there are many TCP 
retransmissions.  You can get something similar "directly" for the 
netperf tests with:

netperf -H <proxy> -- -o 
throughput,local_transport_retrans,remote_transport_retrans

netperf -H <proxy> -t TCP_MAERTS -- -o 
throughput,local_transport_retrans,remote_transport_retrans

rick jones




More information about the Openstack mailing list