Por que o rsync sobre SSH me fornece 10x a taxa de transferência de SCP?

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

scp só me dá 200K / s, mas rsync me dá 1,9M / s

Eu testei várias vezes, todos os mesmos resultados.

rsync usa vários segmentos ??

    
por Sato 15.07.2016 / 06:28

2 respostas

5

Ambos os protocolos são baseados em SSH. E o SSH possui uma certa sobrecarga :

OSCPéumprotocolorealmenteingênuo,comumalgoritmorealmenteingênuoparaatransferênciadealgunsarquivospequenos.Eletemmuitasincronização(RTT-RoundTripTime)ebufferspequenos(basicamente2048B- fonte ).

O rsync é feito para desempenho e, portanto, oferece resultados muito melhores e possui mais recursos.

A aceleração 10x é específica para o seu caso. Se você transferisse arquivos pelo mundo inteiro em faixas de alta latência, teria um desempenho muito pior no caso scp , mas na rede local, o desempenho pode ser quase o mesmo.

E não, a compactação ( -C para scp ) não ajudará. Os maiores problemas são a latência e o tamanho do buffer.

    
por 15.07.2016 / 13:22
7

RSYNC vs SCP

SCP basicamente faz uma cópia antiga simples da origem ao destino localmente ou através de um rede usando SSH, mas você pode usar a opção -C para ativar a compactação SSH para acelerar potencialmente a cópia de dados pela rede.

RSYNC transfere apenas as diferenças entre dois conjuntos de arquivos na conexão de rede, usando um algoritmo eficiente de pesquisa de soma de verificação que otimiza automaticamente a conexão de rede durante uma transferência de dados.

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

    
por 15.07.2016 / 07:12