В настоящее время я использую rsync для передачи большого файла с хоста на другой. Я хотел бы ограничить дебет для этого перевода. После прочтения справочной страницы я нашел параметр --bwlimit, который ожидает значение в КБ / с.
Я хочу ограничить передачу около 100 Мбит / с, поэтому я использовал следующие настройки:
rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/
Но это, кажется, не соблюдается согласно выводу rsync:
file.sql.gz
570851702 100% 33.90MB/s 0:00:16 (xfer#5, to-check=34/39)
file.sql.gz
11195140 100% 7.45MB/s 0:00:01 (xfer#6, to-check=33/39)
file.sql.gz
51439169 100% 19.41MB/s 0:00:02 (xfer#7, to-check=32/39)
file.sql.gz
34022 100% 1.55MB/s 0:00:00 (xfer#8, to-check=31/39)
file.sql.gz
2305698 100% 6.96MB/s 0:00:00 (xfer#9, to-check=30/39)
file.sql.gz
2152942 100% 2.73MB/s 0:00:00 (xfer#10, to-check=29/39)
file.sql.gz
86655633 100% 19.33MB/s 0:00:04 (xfer#11, to-check=28/39)
file.sql.gz
3614476032 40% 34.82MB/s 0:02:28
Если я не ошибаюсь: 19,33 МБ / с ~ = 154 Мбит / с
Так что здесь не так?
PS: протокол rsync версии 3.0.6, версия 30
Спасибо за вашу помощь !
Ответы:
Я думаю, что вы испытали некоторое "взрыв", как упомянуто на странице руководства:
Поэтому, как я и просил, общий коэффициент по окончании вашей работы, наконец, был ограничен 10 млн.
источник
Как упомянуто в справочной странице по rsync , оно передается в килобайтах в секунду:
источник
--bwlimit=100
, я получаю 275 кБ / с, очень регулярно между 265-285 кБ / с, без разрывов. Что здесь не так?100 Мбит / с - это (приблизительно) 10 МБ / с, что на самом деле составляет 10000 КБ / с. Если вы
rsync
нажмете на разрыв, возможно, вам поможет отдельный инструментtrickle
:источник
Показанное значение представляет собой эффективную скорость передачи, которая включает в себя ускорение от сжатия и дельта-алгоритм, это можно легко увидеть, увидев большие числа, если прерванный
rsync
сеанс перезапускается с включенной частичной передачей (например--append-verify
).источник