Когда вы загружаете достаточно большой файл, вы видите, что в первые секунды скорость загрузки увеличивается, чтобы в итоге достичь среднего значения. Зачем?
3 ответа
Две вещи:
Есть некоторые издержки при согласовании и настройке передачи, особенно с такими протоколами, как FTP. FTP фактически устанавливает второй канал TCP исключительно для передачи данных, поэтому необходимо выполнить второе трехстороннее рукопожатие и т.д. И т.д.
Большинство TCP-соединений настроены на "медленный запуск". Код TCP вроде как пробирается до максимального размера сегмента, который будет работать для маршрута между двумя хостами.
Метод расчета скорости загрузки варьируется от программного обеспечения к программному обеспечению. Первое, что нужно иметь в виду, это то, что скорость всегда рассчитывается в контексте определенного промежутка времени. Некоторое программное обеспечение может отображать скорость загрузки за все время, которое вы загружали (может быть часами), в то время как другое программное обеспечение может отображать скорость загрузки только за самое последнее x
секунд. Чем короче продолжительность расчета скорости, тем больше значение в реальном времени.
Кроме того, когда начинается загрузка, необходимо сделать выбор: будет ли программное обеспечение принимать начальную скорость, равную 0, или же программное обеспечение не предполагает (и не отображает) никакой начальной скорости, пока у него не будет больше данных для оценки.
В описанной вами ситуации возможно, что программное обеспечение является таким же, как и выше, и поэтому требуется несколько секунд, чтобы вычисленное значение усреднилось (от 0) до более точного значения.
Это называется tcp windowing, при успешной передаче пакета окно увеличивает объем данных, это будет происходить до тех пор, пока не произойдет ошибка в передаче, это зависит от скорости и надежности соединения, приложения просто рассчитывают, сколько времени займет передача при текущей скорости окно tcp позволит