Почему я не могу доверять rsync так же быстро, как и cp? (Я игнорирую незначительные различия для накладных расходов.)
Мне кажется, что rsync довольно медленно работает с файлами без разницы в содержимом, но с измененной отметкой времени.
Если я создаю файл: cp -a testfile-100M destfile
А потом я их повторю, получаю то, что вы ожидаете:
$ rsync -av testfile-100M destfile
отправка списка добавочных файлов
отправлено 56 байт, получено 12 байт 8,00 байт / с
общий размер 104857600 ускорение 1542023.53
Но это только потому, что rsync проверяет размер и временную метку и пропускает файл. Что если я просто поменяю метку времени?
$ touch testfile-100M
$ rsync -av testfile-100M destfile отправляет список добавочных файлов
TestFile-100M
отправлено 104870495 байт, получено 31 байт, 113804,15 байт / с
общий размер 104857600 ускорение составляет 1,00
Также обратите внимание, что, несмотря на то, что ускорение равно 1, начальная копия заняла примерно 1/4 времени для завершения, чем заключительная rsync, даже если содержимое точно такое же. Так что здесь происходит? Это все накладные расходы на сравнение?
Если это так, то когда rsync дает преимущество в производительности? Только когда файлы одинаковы с обеих сторон?