Ответы:
Оба протокола основаны на SSH. И у самого SSH есть некоторые накладные расходы :
SCP - это действительно наивный протокол с действительно наивным алгоритмом для передачи нескольких небольших файлов. Он имеет много синхронизации (RTT - Round Trip Time) и небольшие буферы (в основном 2048 B - источник ).
Rsync создан для повышения производительности, поэтому он дает гораздо лучшие результаты и имеет больше возможностей.
10-кратное ускорение является специфическим для вашего случая. Если бы вы передавали файлы по всему миру по каналам с высокой задержкой, вы бы получили гораздо худшую производительность в scp
случае, но в локальной сети производительность может быть почти такой же.
И нет, сжатие ( -C
для scp
) не поможет. Самые большие проблемы - это задержка и размер буфера.
SCP в основном делает обычную старую копию из источника в место назначения локально или по сети, используя SSH, но вы можете использовать -C
коммутатор, чтобы включить сжатие SSH, чтобы потенциально ускорить копирование данных по сети.
RSYNC передает только различия между двумя наборами файлов через сетевое соединение, используя эффективный алгоритм поиска по контрольной сумме, который автоматически оптимизирует сетевое соединение во время передачи данных.
RSYNC
ОПИСАНИЕ
rsync is a program that behaves in much the same way that rcp does, but has many more options and uses the rsync remote-update protocol to greatly speed up file transfers when the destination file is being updated. The rsync remote-update protocol allows rsync to transfer just the dif- ferences between two sets of files across the network connection, using an efficient checksum-search algorithm described in the technical report that accompanies this package.
SCP
ОПИСАНИЕ
scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same secu‐ rity as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication. File names may contain a user and host specification to indicate that the file is to be copied to/from that host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treat‐ ing file names containing ‘:’ as host specifiers. Copies between two remote hosts are also permitted.
-C
переключателя Безразлично» t сжать данные во время передачи по трубе?
rsync
командной строке. Конечно, в файле дельта-алгоритм всегда активен. Это, наверное, просто scp
отстой.