web-dev-qa-db-fra.com

Pourquoi Rsync sur SSH me donne-t-il 10 fois le débit de SCP?

  1. scp user@aws-ec2:~/file file
  2. rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file

scp me donne seulement 200k/s, mais rsync me donne 1,9 m/s

J'ai testé plusieurs fois, tous les mêmes résultats.

rsync utilise plusieurs threads ??

11
Sato

Les deux protocoles sont basés sur ssh. Et SSH elle-même a des frais générauxwiki

SCP est un protocole vraiment naïf avec un algorithme vraiment naïf pour transférer quelques-uns de petits fichiers. Il a beaucoup de synchronisation (heure de déplacement RTT) et de petits tampons (fondamentalement 2048 B - source ).

RSYNC est fabriqué pour la performance et donne donc beaucoup de meilleurs résultats et davantage de fonctionnalités.

La vitesse 10x est spécifique pour votre cas. Si vous transférez des fichiers sur le monde entier sur des voies de latence à haute latence, vous obtiendrez une performance bien pire sur le cas scp, mais sur le réseau local, la performance peut être presque identique.

Et non, compression (-C pour scp) ne vous aidera pas. Les plus gros problèmes sont la taille de la latence et du tampon.

7
Jakuje

Rsync vs scp

[~ # ~] SCP [~ # ~ ~] En gros fait une copie ancienne simple de la source à la destination localement ou sur un réseau utilisant SSH mais vous pourrez peut-être utiliser le -C Basculez pour activer la compression SSH pour éventuellement accélérer 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 contrôle efficace qui optimise automatiquement la connexion réseau pendant un transfert de données.

RSYNC

[~ # ~] 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.

source


SCP

[~ # ~] 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.

source

7
Pimp Juice IT