Почему скорость загрузки медленная в первые секунды?


14

Когда вы загружаете достаточно большой файл, вы видите, что в первые секунды скорость загрузки увеличивается, чтобы в итоге достичь среднего значения. Почему?


2
Можете ли вы поделиться некоторыми именами приложений, которые вы используете, где вы видите это поведение? В зависимости от программного обеспечения могут быть разные ответы.
DuckMaestro

Ответы:


19

Две вещи:

  1. Есть некоторые издержки при согласовании и настройке передачи, особенно с такими протоколами, как FTP. FTP фактически устанавливает второй канал TCP исключительно для передачи данных, поэтому необходимо выполнить второе трехстороннее рукопожатие и т. Д. И т. Д.

  2. Большинство TCP-соединений настроены на «медленный запуск» . Код TCP вроде как пробирается до максимального размера сегмента, который будет работать для маршрута между двумя хостами.


1
Я не думаю, что пункт № 1 является достаточным объяснением, по крайней мере, не для FTP, потому что большинство клиентов, которых я видел, рассчитывают только скорость на канале данных, а не на канале управления. Мы также не знаем, относится ли спрашивающий конкретно к FTP.
DuckMaestro

17

Метод расчета скорости загрузки варьируется от программного обеспечения к программному обеспечению. Первое, что нужно иметь в виду, это то, что скорость всегда рассчитывается в контексте определенной продолжительности времени. Некоторое программное обеспечение может отображать скорость загрузки за все время, которое вы загружали (может быть часами), в то время как другое программное обеспечение может отображать скорость загрузки только в течение последнего xколичества секунд. Чем короче время для расчета скорости, тем больше значение в реальном времени.

Кроме того, когда начинается первая загрузка, необходимо сделать выбор: принимает ли программное обеспечение начальную скорость 0 или же программное обеспечение не предполагает (и не отображает) никакой начальной скорости, пока не получит больше данных для оценки.

В описанной вами ситуации вполне возможно, что программное обеспечение является таким, как описано выше, и поэтому требуется несколько секунд, чтобы вычисленное значение усреднилось (от 0) до более точного значения.


1
Бинго - «не хватает данных для начала измерения» - звучит наиболее правильно. Я думаю, что большинство загрузчиков достаточно умны, чтобы откладывать получение метрик до момента фактической загрузки файла (в отличие от @Bruce).
new123456

13

Это называется tcp windowing, при успешной передаче пакета окно увеличивает объем данных, это будет происходить до тех пор, пока не произойдет ошибка передачи, это зависит от скорости и надежности соединения, приложения просто рассчитывают, сколько времени займет передача при текущей скорости окно tcp позволит

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.