Назад | Перейти на главную страницу

Почему мой rsync такой медленный по сравнению с чистым cp или даже scp?

Я передаю файлы из Linux в Windows 7 через подключенный общий ресурс (общий ресурс подключен из Windows на Linux) .. Я копирую много данных (т.е. почти 1 ТБ) со старого компьютера на новый в моей локальной сети. Мне уже очень жаль, что у меня всего 100 Мбит. Естественно, я слепо использовал rsync, но уже через день задавался вопросом, почему он такой медленный. Включение индикатора выполнения показало, что скорость передачи данных составляет около 2 МБ / с.

Итак, я взял достаточно большой файл (800 МБ) и отследил время передачи (1):

cp : 05:33
scp (2): 06:33
rsync : 21:51

1) Я удалял файлы между каждым запуском
2) scp через localhost на ту же машину Linux прямо на общий ресурс; совершенно бесполезный, но с индикатором прогресса

Тесты были такими простыми, как

(cp|scp|rsync) <source> <destination>

Никаких специальных аргументов, кроме хоста / порта для scp. Я даже попробовал -W переключиться на rsync, но будет отменено через десять минут. rsync - это 3.0.3, работающая на Lenny. Чтобы иметь возможность прервать процесс копирования в любое время и возобновить, я обратился к rsync, но теперь я думаю, что мне нужно серьезно пересмотреть это требование.

Как возможна такая большая разница?

Обновление / решено:

Благодаря rschuler Мне удалось решить проблему: из соображений эффективности использовать демон rsync вместо монтирования smb. Указанная DeltaCopy работает, но нужно помнить о нескольких вещах.

После этого скорость передачи подскочила с 2 МБ / с до ~ 8 МБ / с; абсолютно фантастично!

(общий ресурс смонтирован из Windows в Linux)

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

Что вам нужно сделать, так это запустить rsync на обеих машинах. Таким образом, по сетевому кабелю будут передаваться только различия (и контрольные суммы). DeltaCopy это оконный rsync. У него достаточно хороших документов, чтобы вы начали.

Посмотреть ответ на этот вопрос вопрос для лучшего объяснения, почему я думаю, вы могли неправильно использовать rsync.