scp user@aws-ec2:~/file file
rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file
scp
me donne seulement 200K / s, mais rsync
me donne 1,9M / s
J'ai testé plusieurs fois, tous les mêmes résultats.
rsync
utilise plusieurs threads ??
Les deux protocoles sont basés sur SSH. Et SSH lui-même a des frais généraux :
SCP est un protocole vraiment naïf avec un algorithme vraiment naïf pour transférer quelques petits fichiers. Il a beaucoup de synchronisation (RTT - Round Trip Time) et de petits tampons (essentiellement 2048 B - source ).
Rsync est fait pour la performance et donne donc de bien meilleurs résultats et plus de fonctionnalités.
L'accélération 10x est spécifique à votre cas. Si vous transférez des fichiers dans le monde entier sur des voies à latence élevée, vous obtiendrez des performances bien pires sur le scp
boîtier, mais sur le réseau local, les performances peuvent être presque les mêmes.
Et non, la compression ( -C
pour scp
) n'aidera pas. Les plus gros problèmes sont la latence et la taille du tampon.
SCP effectue essentiellement une ancienne copie simple de la source à la destination localement ou sur un réseau à l'aide de SSH, mais vous pouvez peut-être utiliser le -C
commutateur pour activer la compression SSH afin d'accélérer potentiellement la copie des données sur le réseau.
RSYNC transfère uniquement les différences entre deux ensembles de fichiers sur la connexion réseau, à l'aide d'un algorithme de recherche de somme de contrôle efficace qui optimise automatiquement la connexion réseau lors d'un transfert de données.
RSYNC
LA DESCRIPTION
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
LA DESCRIPTION
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
commutateur ne fonctionne pas '' t compresser les données lors de leur transmission dans le tuyau?rsync
ligne de commande. Bien sûr, l'algorithme delta dans le fichier est toujours actif. C'est probablement juste que çascp
craint.