Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.