Estou um pouco intrigado com isso? Por que o rsync é mais rápido que o scp? O rsync não usa o scp abaixo ou faz algo mais eficiente? Existe alguma maneira de acelerar o scp?
O rsync obviamente será mais rápido que o scp se o destino já contiver alguns dos arquivos de origem, pois o rsync apenas copia as diferenças. Mas suspeito que sua pergunta tenha sido sobre fazer uma cópia direta para um alvo vazio.
Você passou a -zopção para rsync; isso ativa a compactação. Se a largura de banda da rede é o fator limitante (geralmente é), a compactação pode melhorar a velocidade de transferência em uma quantidade notável.
Você também pode ativar a compactação scppassando a -Copção Isso deve equilibrar as coisas com o rsync. Por padrão, a compactação não está ativada no ssh porque economiza largura de banda, mas adiciona latência e sobrecarga da CPU; a latência é ruim para sessões interativas (isso não se aplica a scp) e a sobrecarga da CPU é inútil se os arquivos que você está copiando já estiverem compactados.
As versões mais antigas do rsyncrsh usado, em vez do ssh, como a camada de transporte padrão, portanto, uma comparação justa seria entre rsynce rcp. Mas o ssh é o padrão desde o 2.6.0 lançado em 01-01-2004.
Com configurações de compactação idênticas, eu esperaria rsynce scpteria essencialmente a mesma velocidade. Por favor, compartilhe referências se você achar o contrário.
Bom, usando -C fez minha velocidade de transferência aumentando de 5 MB para 20 MB
ıɾuǝʞ
Acabei de testar isso para um diretório que contém 16 arquivos em torno de 3 a 9 MB e rsync -zainda é MUITO MAIS rápido do que scpcom qualquer compactação sugerida nessas respostas ativadas. Também é mais rápido do que compactar e arquivar em um arquivo manualmente e scpinseri-lo ( scpa compactação é ainda mais lenta que isso). Portanto, a questão do OP realmente permanece sem resposta: o que é scptão lento em comparação com rsync?
essas opções aceleram o scp 5 vezes em minha configuração, em comparação com o arquivo scp machine: file.
Atualização, 2017
Na verdade, o scp é lento devido ao gerenciamento inadequado dos detalhes do TCP, como MTU e tamanho do buffer. Felizmente, isso foi corrigido pelo projeto HPN SSH . No meu entender, você pode usar o HPN SSH como um transporte para o rsync.
Incrível, obrigado !! No entanto, sempre faça scp -p(preservar data / hora) como padrão e provavelmente -r(recursivo) scp -pr -C .... (Eu apenas tive que esfregar e reiniciar o trabalho de um 40Gb scp usando estes porque eu esqueci a -p)
SMCI
Eu adicionei -p ao comando, obrigado por uma dica.
Peter K
4
Costumava ser o contrário, mas acredito que a velocidade do rsync melhorou bastante nas últimas revisões. Também depende de quantos arquivos você está copiando. Se for muito, o rsync geralmente será mais rápido porque o scp gera um novo processo para cada arquivo que você está copiando. Você pode tentar enfraquecer a cifra que o scp usa para ver se ela acelera. Por último, lembro que a cifra de arco e quatro foi a mais rápida.
O Scp não gera um novo processo para cada arquivo que está sendo copiado. Você tem um processo no lado de envio e outro no lado de recebimento, assim como no rsync.
Kenster
3
Para um grande número de arquivos pequenos, o rysnc é muito mais rápido que o scp. Eles dizem que é porque tem uma sobrecarga menor. Para um arquivo grande, eu esperaria resultados semelhantes.
Você está copiando novamente os arquivos sobre os existentes? Nesse caso, a capacidade do rsync de bloquear a comparação e copiar apenas as diferenças será relevante.
Respostas:
O rsync obviamente será mais rápido que o scp se o destino já contiver alguns dos arquivos de origem, pois o rsync apenas copia as diferenças. Mas suspeito que sua pergunta tenha sido sobre fazer uma cópia direta para um alvo vazio.
Você passou a
-z
opção pararsync
; isso ativa a compactação. Se a largura de banda da rede é o fator limitante (geralmente é), a compactação pode melhorar a velocidade de transferência em uma quantidade notável.Você também pode ativar a compactação
scp
passando a-C
opção Isso deve equilibrar as coisas com o rsync. Por padrão, a compactação não está ativada no ssh porque economiza largura de banda, mas adiciona latência e sobrecarga da CPU; a latência é ruim para sessões interativas (isso não se aplica ascp
) e a sobrecarga da CPU é inútil se os arquivos que você está copiando já estiverem compactados.As versões mais antigas do
rsync
rsh usado, em vez do ssh, como a camada de transporte padrão, portanto, uma comparação justa seria entrersync
ercp
. Mas o ssh é o padrão desde o 2.6.0 lançado em 01-01-2004.Com configurações de compactação idênticas, eu esperaria
rsync
escp
teria essencialmente a mesma velocidade. Por favor, compartilhe referências se você achar o contrário.fonte
rsync -z
ainda é MUITO MAIS rápido do quescp
com qualquer compactação sugerida nessas respostas ativadas. Também é mais rápido do que compactar e arquivar em um arquivo manualmente escp
inseri-lo (scp
a compactação é ainda mais lenta que isso). Portanto, a questão do OP realmente permanece sem resposta: o que éscp
tão lento em comparação comrsync
?tente scp de maneira rápida
essas opções aceleram o scp 5 vezes em minha configuração, em comparação com o arquivo scp machine: file.
Atualização, 2017
Na verdade, o scp é lento devido ao gerenciamento inadequado dos detalhes do TCP, como MTU e tamanho do buffer. Felizmente, isso foi corrigido pelo projeto HPN SSH . No meu entender, você pode usar o HPN SSH como um transporte para o rsync.
fonte
scp -p
(preservar data / hora) como padrão e provavelmente-r
(recursivo)scp -pr -C ...
. (Eu apenas tive que esfregar e reiniciar o trabalho de um 40Gb scp usando estes porque eu esqueci a-p
)Costumava ser o contrário, mas acredito que a velocidade do rsync melhorou bastante nas últimas revisões. Também depende de quantos arquivos você está copiando. Se for muito, o rsync geralmente será mais rápido porque o scp gera um novo processo para cada arquivo que você está copiando. Você pode tentar enfraquecer a cifra que o scp usa para ver se ela acelera. Por último, lembro que a cifra de arco e quatro foi a mais rápida.
fonte
Para um grande número de arquivos pequenos, o rysnc é muito mais rápido que o scp. Eles dizem que é porque tem uma sobrecarga menor. Para um arquivo grande, eu esperaria resultados semelhantes.
fonte
Para meus testes, o rsync é mais rápido que o scp , você pode usar o iotop para testá-los na transferência do mesmo arquivo:
Talvez você obtenha resultados diferentes, mas você mesmo pode testá-los. BTW, enquanto estiver usando scp , não foge para escolher sua cifra:
Enquanto
arcfour
pode acelerar a criptografia.fonte
Você está copiando novamente os arquivos sobre os existentes? Nesse caso, a capacidade do rsync de bloquear a comparação e copiar apenas as diferenças será relevante.
fonte