Я обнаружил, что использование Rsync для передачи файлов из смонтированных общих ресурсов CIFS, резидентных на клиенте Widnows, происходит очень медленно.
Я прочитал несколько тем здесь, в SF, и несколько других сообщений на форуме в Интернете, которые указывают на то, что проблема связана с rsync, проверяющим передаваемые данные. Кто-нибудь может мне это объяснить?
Кроме того, если это не будет работать с желаемой скоростью, каковы мои варианты, если мне нужна поддержка контрольной суммы для обеспечения целостности данных?
В настоящее время при синхронизации файлов из смонтированного общего ресурса CIFS на физически подключенный диск я получаю ~ 25 МБ / с через гигабитную локальную сеть. И наоборот, при использовании Robocopy на клиенте Windows я получаю скорость передачи ~ 85 МБ / с, что приближается к практическому пределу накопителя 5900 об / мин. Почему такая существенная разница?
Rsync для удобства поддерживает режим, в котором оба файла являются локальными. Это тот режим, который вы получаете, потому что Rsync не разговаривает с удаленной машиной, используя протокол rsync. Никакая оптимизация rsync в этом режиме невозможна, потому что на удаленной стороне нет программы для выполнения оптимизированных операций.
Rsync в локальном режиме не будет пытаться отправлять только различия, потому что у него нет способа определить, в чем различия. По умолчанию используется стандартная копия, за которой следует стандартное чтение для проверки данных. Если вы хотите, чтобы контрольная сумма проверяла целостность данных, вам понадобится какое-то программное обеспечение на другом конце, чтобы выполнять контрольную сумму локально. Вы можете использовать rsync
сервер для этой цели, поскольку вы используете rsync
тем не мение.
Да, я заметил то же самое.
Я обнаружил, что с помощью унисон работает быстрее, чем использование rsync, когда источник (локальный жесткий диск) и место назначения (общий ресурс CIFS) смонтированы на одном компьютере и поэтому существует только один экземпляр программы синхронизации.
Да, unison предназначен для копирования файлов в обоих направлениях при одном и том же вызове, но я обнаружил, что даже простое использование его для одностороннего нажатия (потому что я никогда ничего не редактирую в месте назначения) быстрее, чем rsync.