1

У меня всегда возникало впечатление, что rsync должен быть по крайней мере таким же быстрым, как scp. Но здесь у меня проблема. Когда я использую rsync -avr для копирования данных с удаленного компьютера, я получаю примерно 11 Мбит / с. Если я использую scp для того же файла, я получаю 28 МБ / с.

Как так? Это директория со многими файлами, но самый большой из них - один файл размером 1 ГБ. Я имею в виду, что что-то не так с соединением, оно должно быть 1 Гбит, и я получаю только ~ 300 Мбит, но все же странно, что rsync намного медленнее ...

Какие-либо предложения? Спасибо.

2 ответа2

0

.. когда он передает большой файл, он останавливается на скорости около 11 Мбит / с.

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

Rsync выполняет дельта-передачу по умолчанию, если он видит частичный файл на приемнике (остаток от теста scp ?). Метод "скользящей контрольной суммы" сравнения того, что необходимо передать, отразится на использовании ЦП на стороне отправителя.

Я заметил 4-кратное снижение скорости передачи в большом частичном двоичном файле со слабым процессором в качестве отправителя (Intel Atom или меньшие экземпляры облачных ВМ). На больших машинах скорость передачи оставалась неизменной после первоначального частичного сканирования файлов при продолжении. Тогда разница в пропускной способности по сравнению с обычным netcat должна заключаться в шифровании через ssh.

Явное указание rsync не использовать частичные передачи (-W|--whole-file) снова поместит скорости передачи в один и тот же этап. Если необходимо, --append - это еще один способ возобновить прерванную передачу файла, не вызывая дельта-передачу. get -a в sftp может возобновить загрузку.

См. Описание архитектуры Rsyncs для дальнейшего объяснения.

0

Одно из отличий между scp и rsync состоит в том, что rsync проверяет переданные файлы, а scp - нет.

Из справочной страницы rsync :

Обратите внимание, что rsync всегда проверяет, что каждый переданный файл был правильно восстановлен на принимающей стороне, проверяя контрольную сумму всего файла, которая генерируется при передаче файла, но эта автоматическая проверка после передачи не имеет ничего общего с этой опцией the-перевод "Нужно ли обновлять этот файл?" проверять.

Так что это может быть одним из источников разницы в производительности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .