5

I am developing an application to upload several big files to a server from a home network.

I can select any of the following strategies:

  1. Upload each file in sequence.
  2. Upload all of them in parallel.

which one is faster, noting that the bottleneck is home network.

mans
  • 535

2 Answers2

8

Uploading in parallel will generally help get them all there faster, because if one of your upload TCP streams gets stalled for any reason, your other upload TCP stream(s) will be able to keep that bandwidth from going to waste.

Spiff
  • 110,156
2

Theoretically speaking, the answer would be:

Six of one; half-dozen of another.

The reason is, if you reach a bandwidth bottleneck, it doesn't matter if you are uploading files one at a time or multiple at once; you are constrained by bandwidth.

What alters the answer is if there's an imposed speed limit for connections on one side. This is seen on some regular content servers as well as those that use Torrenting protocol.

In this case, if the imposed speed limit is less than the max bandwidth on the home side, then it would make sense to transfer multiple files, up to the amount to cap out bandwidth on the home side.

Damian T.
  • 313