In Swift, which server point uses most Bandwidth ?

asked 2015-02-18 05:30:18 -0600

vongolashu gravatar image

Considering one has a normal Openstack Swift structure consisting of 1xSwiftProxyServer and 2xSwiftStorageServers, which of them will consume the most bandwidth when doing file transfers ?

Suppose if you upload 100GB and download 50GB, I assume storage servers will do consume 150GB Bandwidth. But would Proxy server aswell consume 150GB bandwidth (aka effective bandwidth consume almost double)

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2015-02-18 10:12:50 -0600

Hey! Proxy server consume equal bandwidth as storage servers.To provide additional reliability and bandwidth to your cluster, additional proxy servers can be added.

edit flag offensive delete link more


erm.. so means to upload a 100GB file, 200GB total bandwidth would be used ? Sounds quite hectic for limited bandwidth servers and can scale bandwidth costs quite a lot. When uploading/sending a file, does it get uploaded to proxy server first ? I meant to ask, does proxy server having 1Gbps network

vongolashu gravatar imagevongolashu ( 2015-02-18 10:39:11 -0600 )edit

answered 2015-02-18 11:45:38 -0600

SamYaple gravatar image

updated 2015-02-18 11:50:47 -0600

You never actually talk to the storage servers, so your only bandwidth will be to and from the Proxy servers.

If you are concerned about the internal bandwidth between the proxy and storage server that is a bit more complicated, but it is all "private" bandwidth. Does this bandwidth matter to you? Or just "public" bandwidth?

Internal bandwidth is affected by a few things, the biggest being the number of copies you have for an object. By default this is 3 copies. So right out of the gate you have tripled your internal bandwidth from what is being received from the client, but again, that is all internal and not over the public network. Additionally, there are other communications back and forth between servers that will add to the internal bandwidth count. Adding new drives, replacing only ones, object corruption (swift will fetch a good copy from another server), etc.

Internal bandwidth is very hard to quantify without getting more information from you.

edit flag offensive delete link more


Well yeah I am aware if I use private network, then the bandwidth wouldn't matter much and most probably not charged. However, in case of multi-region and multiple location datacenters, private network is not possible so will have to rely on public bandwidth.

vongolashu gravatar imagevongolashu ( 2015-02-18 12:07:34 -0600 )edit

You should not be running swift over a public network. For multi-region/multi-datacenter setups it only uses a small amount of bandwidth.

From the swift-proxy to the storage servers this should ALWAYS be private net traffic. It is unencrypted. You should not set that traffic up to go over public.

SamYaple gravatar imageSamYaple ( 2015-02-19 06:25:42 -0600 )edit

But if I am using 3 DCs, they wont provide private network to each other, so only other option would be to use public network. Do you recommend setting up a proxy on each of those 3 DCs then or what ?

vongolashu gravatar imagevongolashu ( 2015-02-19 10:59:18 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2015-02-18 05:30:18 -0600

Seen: 288 times

Last updated: Feb 18 '15