Risposte:
Entrambi i protocolli sono basati su SSH. E SSH stesso ha un certo sovraccarico :
SCP è un protocollo davvero ingenuo con un algoritmo davvero ingenuo per il trasferimento di alcuni file di piccole dimensioni. Ha molta sincronizzazione (RTT - Round Trip Time) e piccoli buffer (fondamentalmente 2048 B - sorgente ).
Rsync è progettato per le prestazioni e quindi offre risultati molto migliori e ha più funzionalità.
Lo speedup 10x è specifico per il tuo caso. Se trasferissi file in tutto il mondo su corsie ad alta latenza, otterrai prestazioni molto peggiori sul scp
caso, ma sulla rete locale, le prestazioni possono essere quasi le stesse.
E no, la compressione ( -C
per scp
) non aiuterà. I maggiori problemi sono la latenza e la dimensione del buffer.
SCP fondamentalmente esegue una semplice copia dall'origine alla destinazione localmente o attraverso una rete utilizzando SSH, ma potresti essere in grado di utilizzare lo -C
switch per abilitare la compressione SSH per accelerare potenzialmente la copia dei dati attraverso la rete.
RSYNC trasferisce solo le differenze tra due serie di file attraverso la connessione di rete, utilizzando un algoritmo di ricerca checksum efficiente che ottimizza automaticamente la connessione di rete durante un trasferimento di dati.
RSYNC
DESCRIZIONE
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
DESCRIZIONE
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
switch non lo fa ' comprimere i dati durante la trasmissione lungo il tubo?
rsync
riga di comando. Naturalmente l'algoritmo delta nel file è sempre attivo. Probabilmente è solo quello che fa scp
schifo.