-1

I had a question w.r.t multiple parallel uploads to an ftp server. Lets say the bandwidth between the client and the server is B.

  • When I open a connection with the server, will the entire bandwidth be used?

  • If the entire bandwidth is not used and say only B/4 is used, and If I open 4 parallel connections, will all the connections get the same priority from the server. What is the usual limit on the parallel connections that can be established with a server?

  • Say now I open multiple connections to the server, which of these two implementations by the client will be faster? Case 1: Single thread, do a round-robin based network put on each connection. Case 2: Multi-thread, where each thread does a put.(I think if the entire bandwidth is not being used, case 2 will be faster) Which is the best approach.

Wanted to discuss this with the community before I start implementing (using libcurl). Thanks.

vine'th
  • 99
  • 1

1 Answers1

1

What is "the" server? Your question depends on the implementation of the server side. If the server is "intelligent" enough it can throttle parallel downloads. Or downloads at all. This question can't be answered as there is no general solution.

There are even servers that only allow downloads when you parallel upload files. Or the other way around. Test and try out.

And what's true for download is also true for uploads.

mailq
  • 17,023
  • 2
  • 37
  • 69