Perché rsync -avz è più veloce di scp -r?


55

Sono un po 'perplesso da questo? Perché rsync è più veloce di scp? Rsync non usa scp sotto o fa qualcosa di più efficiente? C'è un modo per accelerare SCP?


1
È una nuova copia.
grm,

Risposte:


68

Rsync sarà ovviamente più veloce di scp se la destinazione contiene già alcuni dei file sorgente, poiché rsync copia solo le differenze. Ma ho il sospetto che la tua domanda riguardasse una copia semplice su un bersaglio vuoto.

Hai passato l' -zopzione a rsync; questo attiva la compressione. Se la larghezza di banda della rete è il fattore limitante (spesso lo è), la compressione può migliorare la velocità di trasferimento di una notevole quantità.

Puoi anche abilitare la compressione con scppassando l' -Copzione. Questo dovrebbe riguardare anche le cose con rsync. La compressione non è abilitata per impostazione predefinita in ssh perché consente di risparmiare larghezza di banda ma aggiunge latenza e sovraccarico della CPU; la latenza è dannosa per le sessioni interattive (questo non si applica a scp) e l'overhead della CPU è inutile se i file che stai copiando sono già compressi.

Versioni precedenti di rsyncrsh usato anziché ssh come livello di trasporto predefinito, quindi un confronto equo sarebbe tra rsynce rcp. Ma ssh è l'impostazione predefinita dalla versione 2.6.0 del 01-01-2004.

Con impostazioni di compressione identiche, mi aspetto rsyncche scpabbia sostanzialmente la stessa velocità. Si prega di condividere i benchmark se si trova diversamente.


3
Bene, usando -C ho fatto aumentare la mia velocità di trasferimento da 5 MB a 20 MB
ɾɾuǝʞ

L'ho appena testato per una directory contenente 16 file di 3-9 MB ed rsync -zè ancora MODO più veloce rispetto scpa qualsiasi compressione suggerita in queste risposte abilitata. È anche più veloce della compressione e dell'archiviazione in un file manualmente e scpdi quel file ( scpcon la compressione è persino più lento di così). Quindi la domanda del PO in realtà rimane senza risposta: che cosa è scpcosì lento rispetto a rsync?
ohcibi,

12

prova scp in modo rapido

scp -p -C -o 'CompressionLevel 9' -o 'IPQoS throughput'  -c arcfour machine:file .

queste opzioni velocizzano 5 volte scp nella mia installazione rispetto alla semplice macchina scp: file.

Aggiornamento, 2017

In realtà scp è lento a causa della cattiva gestione dei dettagli TCP come MTU e dimensioni del buffer. Fortunatamente questo è stato risolto dal progetto HPN SSH . Per quanto ne so, puoi usare HPN SSH come trasporto per rsync.


1
Fantastico, grazie !! Tuttavia, fai sempre scp -p(conserva data / ora) come impostazione predefinita, e probabilmente -r(ricorsivo) scp -pr -C .... (Ho dovuto solo strofinare e riavviare un lavoro scp da 40 GB usando questi perché ho dimenticato il -p)
smci

Ho aggiunto -p al comando, grazie per un suggerimento.
Peter K,

4

In passato era il contrario, ma credo che la velocità di rsync sia migliorata notevolmente nelle ultime revisioni. Dipende anche da quanti file stai copiando. Se è molto, rsync di solito sarà più veloce perché scp genera un nuovo processo per ogni file che stai copiando. Puoi provare a indebolire il codice usato da scp per vedere se accelera. L'ultima volta che ricordo, la cifra dell'arcfour era la più veloce.


2
Scp in realtà non genera un nuovo processo per ogni file che viene copiato. Hai un processo sul lato mittente e uno sul lato ricevente, proprio come con rsync.
Kenster,

3

Per un gran numero di piccoli file, rysnc è molto più veloce di scp. Dicono che è perché ha un sovraccarico più piccolo. Per un file di grandi dimensioni, mi aspetterei risultati simili.


3

Per i miei test, rsync è più veloce di scp , puoi usare iotop per testarli sul trasferimento dello stesso file:

sudo iotop -o

Forse otterrai risultati diversi, ma puoi provarli tu stesso. A proposito, mentre usi scp , non farne a meno di scegliere il suo codice:

scp -c arcfour <source> <dest>

Mentre arcfourpuò accelerare la crittografia.


0

Stai copiando nuovamente i file su quelli esistenti? In tal caso, la capacità di rsync di bloccare il confronto e copiare solo le differenze sarà rilevante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.