Как утилиты Download Management контролируют использование полосы пропускания?

250
Chedy2149

Я хочу понять, как такие утилиты, как wget, могут ограничивать скорость загрузки файла, потребляя не более указанной скорости.

Использует ли он функции сети QoS? Или у него есть особая стратегия для работы с TCP-сокетами?

1

1 ответ на вопрос

1
DavidPostill

Я хочу понять, как утилиты, такие как wget, могут ограничивать скорость

wgetограничения скорости с использованием параметра --limit-rateкомандной строки:

  • Wget реализует ограничение, спя соответствующее время после чтения сети, которое заняло меньше времени, чем указано в скорости.
  • В конечном итоге эта стратегия приводит к замедлению передачи TCP примерно до указанной скорости.

  • Однако для достижения этого баланса может потребоваться некоторое время, поэтому не удивляйтесь, если ограничение скорости не работает с очень маленькими файлами.


--limit-ставка = сумма

Ограничьте скорость загрузки до количества байтов в секунду. Сумма может быть выражена в байтах, килобайтах с kсуффиксом или мегабайтах с mсуффиксом. Например, --limit-rate=20kограничит скорость поиска до 20 КБ / с. Это полезно, когда по какой-либо причине вы не хотите, чтобы Wget использовал всю доступную полосу пропускания.

Эта опция позволяет использовать десятичные числа, обычно в сочетании с суффиксами степени; например, --limit-rate=2.5kявляется юридической ценностью.

Обратите внимание, что Wget реализует ограничение, спя соответствующее количество времени после чтения по сети, которое заняло меньше времени, чем указано в скорости. В конечном итоге эта стратегия приводит к замедлению передачи TCP примерно до указанной скорости. Однако для достижения этого баланса может потребоваться некоторое время, поэтому не удивляйтесь, если ограничение скорости не работает с очень маленькими файлами.

Источник GNU Wget 1.17.1 Руководство


Дальнейшее чтение