RSYNC frente a SCP
SCP básicamente hace una copia simple y antigua desde el origen hasta el destino localmente o a través de una red usando SSH, pero es posible que pueda usar el -C
cambie para habilitar la compresión SSH para acelerar potencialmente la copia de datos a través de la red.
RSYNC transfiere solo las diferencias entre dos conjuntos de archivos a través de la conexión de red, utilizando un algoritmo de búsqueda de suma de comprobación eficiente que optimiza automáticamente la conexión de red durante una transferencia de datos.
RSYNC
DESCRIPCIÓN
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.
fuente
SCP
DESCRIPCIÓN
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.
fuente
Ambos protocolos se basan en SSH. Y SSH en sí mismo tiene algunos gastos generales:
SCP es un protocolo realmente ingenuo con un algoritmo realmente ingenuo para transferir algunos archivos pequeños. Tiene mucha sincronización (RTT - Tiempo de ida y vuelta) y pequeños búferes (básicamente 2048 B -- fuente).
Rsync está hecho para el rendimiento y, por lo tanto, brinda mejores resultados y tiene más funciones.
La aceleración 10x es específica para su caso. Si transfiriera archivos por todo el mundo a través de carriles de alta latencia, obtendría un rendimiento mucho peor en el scp
caso, pero en la red local, el rendimiento puede ser casi el mismo.
Y no, compresión (-C
para scp
) no ayudará. Los mayores problemas son la latencia y el tamaño del búfer.