Заставить rsync использовать меньшую пропускную способность?

46

Я использую rsync для резервного копирования и синхронизации сетевых ресурсов и моего компьютера. Я с этим разобрался.

Проблема в том, что при использовании rsync для передачи файлов он использует всю возможную пропускную способность. Я хочу ограничить его скорость, чтобы использовать свое соединение для других целей.

В частности, сейчас я слушаю Last.FM, но он продолжает сокращаться, так как rsync насыщает локальную связь.

Это звучит маловероятно, но в этом случае моя локальная сеть действительно работает так же быстро, как и мой интернет (10 мегабит для обоих, уй, университет!). В любом случае, у меня нет дополнительной пропускной способности, пока работает rsync. Есть идеи?

О, кстати, конкретно я использую Ubuntu 9.04.

Майк Купер
источник

Ответы:

67

Используйте --bwlimit=KBPS опцию для ограничения пропускной способности ввода / вывода, Кбайт в секунду

Также обратитесь к странице справочника .

DaveParillo
источник
Отлично. Я не знаю, почему я пропустил это на manстранице в первый раз.
Майк Купер
8
после того, как факт, но хотел бы отметить, что этот параметр ограничивает среднюю пропускную способность. первый файл отправляется в режиме полной загрузки, а последующие файлы регулируются, чтобы попытаться достичь указанного значения пропускной способности. чтобы действительно ограничить пропускную способность, вы бы хотели посмотреть что-то вродеtrickle
joshtronic
1
@joshtronic Интересно, ты заметил ответ супервакуо? Сейчас я проверил это и могу ручаться за то, что «первый файл отправлен в полном объеме» не соответствует действительности, за исключением самых маленьких файлов.
20

(В идеале это будет ответ на комментарий Joshtronic )

--bwlimit=XXна самом деле имеет противоположную проблему; передача действительно скользящая средняя - в качестве Rsync Основы услужливо объясняет :

Из-за характера передачи rsync блоки данных отправляются, и, если rsync определит, что передача была слишком быстрой, он будет ждать перед отправкой следующего блока данных. Результатом является средняя скорость передачи, равная указанному пределу.

Не ясно, берется ли среднее значение по файлам, но в любом случае это не так

первый файл отправляется на полную мощность, а последующие файлы регулируются, чтобы попытаться перейти к указанному значению пропускной способности

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

Вы правы, что трик был бы лучшим решением, но то, что я понимаю из пояснительной статьи (« Trickle: Userland Bandwidth Shaper для Unix-подобных систем »), trickle также работает путем задержки ввода-вывода на основе скользящего среднего значения передачи , Я полагаю, что надежда рекомендовать это состоит в том, что он использует высокочастотное измерение, чтобы применить среднее значение. Я не смог найти в Интернете никаких данных, подтверждающих, что это так (хотя в приведенной выше статье rsyncкод на самом деле называется «простым», что наводит на мысль, что авторы trickleсчитают, что их код работает лучше).

supervacuo
источник