Я хочу понять, как такие утилиты, как wget, могут ограничивать скорость загрузки файла, потребляя не более указанной скорости.
Использует ли он функции сети QoS? Или у него есть особая стратегия для работы с TCP-сокетами?
Я хочу понять, как такие утилиты, как wget, могут ограничивать скорость загрузки файла, потребляя не более указанной скорости.
Использует ли он функции сети QoS? Или у него есть особая стратегия для работы с TCP-сокетами?
Ограничения скорости wget
с использованием параметра командной строки --limit-rate
:
В конечном итоге эта стратегия приводит к замедлению передачи TCP примерно до указанной скорости.
Однако для достижения этого баланса может потребоваться некоторое время, поэтому не удивляйтесь, если ограничение скорости не работает с очень маленькими файлами.
Ограничьте скорость загрузки до количества байтов в секунду. Сумма может быть выражена в байтах, килобайтах с суффиксом
k
или мегабайтах с суффиксомm
. Например,--limit-rate=20k
ограничит скорость поиска до 20 КБ / с. Это полезно, когда по какой-либо причине вы не хотите, чтобы Wget использовал всю доступную полосу пропускания.Эта опция позволяет использовать десятичные числа, обычно в сочетании с суффиксами степени; например,
--limit-rate=2.5k
является допустимым значением.Обратите внимание, что Wget реализует ограничение, спя соответствующее количество времени после чтения по сети, которое заняло меньше времени, чем указано в скорости. В конечном итоге эта стратегия приводит к замедлению передачи TCP примерно до указанной скорости. Однако для достижения этого баланса может потребоваться некоторое время, поэтому не удивляйтесь, если ограничение скорости не работает с очень маленькими файлами.
Источник GNU Wget 1.17.1 Руководство