Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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

When you download a big enough file, you can see that in the early seconds, the download speed increases to finally reach its mean value. Why?

share|improve this question
Can you share some names of applications you use where you see this behavior? There may be different answers depending on different software. – DuckMaestro Jul 11 '11 at 3:02
up vote 21 down vote accepted

Two things:

  1. There's some overhead in negotiating and setting up the transfer, especially with protocols like FTP. FTP actually sets up a second TCP channel exclusively for data transfer, so a second 3-way handshake has to take place, etc etc.

  2. Most TCP connections are set for "slow startup". The TCP code is kind of feeling its way up to the maximum segment size that will work for the route between two hosts.

share|improve this answer
I don't think item #1 is a sufficient explanation, at least not with FTP, because most clients I've seen only calculate speed on the data channel, not the control channel. We also don't know if the questioner is referring specifically to FTP. – DuckMaestro Jul 11 '11 at 3:00
+1 for slow start. – Wookai Jul 11 '11 at 6:16

The method for calculating download speed varies from software to software. The first thing to keep in mind is that speed is always calculated in the context of a certain time duration. Some software may display download speed for the entire time you've been downloading (could be hours), while other software may display download speed for only the most recent x number of seconds. The shorter the time duration for the speed calculation, the more real-time the value is.

Further, when a download first begins, there is a choice to be made whether the software assumes an initial speed of 0, or whether the software assumes (and displays) no initial speed whatsoever until it has more data to make an estimate with.

In the situation you've described, it is possible that the software is such as the former above, and so it takes a few moments for the calculated value to average up (from 0) to a more accurate value.

share|improve this answer
Bingo - "there is a lack of data to derive a measurement from at the beginning" sounds most correct. I think most downloaders are smart enough to delay taking metrics until the file is actually being downloaded (as opposed to @Bruce). – new123456 Jul 10 '11 at 22:09
+1 this is the correct answer. – BlueRaja - Danny Pflughoeft Jul 11 '11 at 6:57

It's called tcp windowing, on successful transmition of a packet the window the amount of data gets increased this will keep happening till an error in transmition happens it depends on the speed and reliabilty of the connection, the applications just calculates how long the transfer will take at the current rate the tcp window will allow

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .