Por que a velocidade do download é lenta nos primeiros segundos?

14

Quando você baixa um arquivo grande o suficiente, pode ver que, nos primeiros segundos, a velocidade do download aumenta para finalmente atingir seu valor médio. Por quê?

seriousdev
fonte
2
Você pode compartilhar alguns nomes de aplicativos que usa onde vê esse comportamento? Pode haver respostas diferentes, dependendo do software.
DuckMaestro

Respostas:

19

Duas coisas:

  1. Há alguma sobrecarga na negociação e na configuração da transferência, especialmente em protocolos como o FTP. Na verdade, o FTP configura um segundo canal TCP exclusivamente para transferência de dados; portanto, um segundo handshake de três vias deve ocorrer, etc.

  2. A maioria das conexões TCP está configurada para "inicialização lenta" . O código TCP está chegando ao tamanho máximo do segmento que funcionará para a rota entre dois hosts.

Bruce Ediger
fonte
1
Eu não acho que o item 1 seja uma explicação suficiente, pelo menos não com o FTP, porque a maioria dos clientes que eu vi apenas calcula a velocidade no canal de dados, não no canal de controle. Também não sabemos se o questionador está se referindo especificamente ao FTP.
DuckMaestro 11/07
17

O método para calcular a velocidade de download varia de software para software. A primeira coisa a ter em mente é que a velocidade é sempre calculada no contexto de uma determinada duração. Alguns softwares podem exibir a velocidade de download durante todo o tempo em que você está baixando (pode levar horas), enquanto outros podem exibir a velocidade de download apenas pelo xnúmero mais recente de segundos. Quanto menor a duração do tempo para o cálculo da velocidade, mais em tempo real é o valor.

Além disso, quando um download começa, é possível escolher se o software assume uma velocidade inicial de 0 ou se o software assume (e exibe) nenhuma velocidade inicial até que tenha mais dados para fazer uma estimativa.

Na situação que você descreveu, é possível que o software seja como o anterior e, portanto, leva alguns instantes para que o valor calculado alcance a média (de 0) para um valor mais preciso.

DuckMaestro
fonte
1
Bingo - "há uma falta de dados para derivar uma medição no início" parece mais correto. Eu acho que a maioria dos downloaders é inteligente o suficiente para atrasar a tomada de métricas até que o arquivo seja realmente baixado (em oposição ao @Bruce).
new123456
13

É chamado tcp windowing, na transmissão bem-sucedida de um pacote, a janela aumenta a quantidade de dados, isso continuará acontecendo até que ocorra um erro na transmissão, depende da velocidade e confiabilidade da conexão, os aplicativos calculam quanto tempo a transferência levará na taxa atual, a janela TCP permitirá

squareborg
fonte