Poderia haver alguma diferença de velocidade em um simples comando “copy” para um arquivo grande (2GB) entre a execução local e a execução SSH?

0

Cenário de exemplo:
- máquina Linux (acho que o sistema operacional não se incomoda).
- OpenSSH Server .
- Arquivo grande de origem no disco rígido, cerca de 2 GB (acho que SSD ou HD clássico não incomoda, também).
- Destino para o arquivo: um (moderadamente rápido 2.0) USB pendrive (acho que 3.0 ou mesmo 1.0 não incomodariam, também).

Vou pedir um simples:

cp MyBigFile.iso /media/pendrive

O pendrive é conectado na mesma máquina.
Dois casos:

  1. A shell local (eu sento na máquina, e faço cp ) a execução ordenou a cópia do arquivo grande.
  2. shell SSH (eu vou para outro computador na mesma rede local e registro via cliente SSH) copiei remotamente o arquivo grande.

Tem algum sentido esperar alguma diferença na velocidade? Por quê?

Acho que, de fato, quando a cópia inclui muitos arquivos pequenos , a comunicação (para o shell SSH) entre o servidor e o cliente pode adicionar muitos pequenos atrasos (sinta-se à vontade para corrigir essa lógica também , se você acha que eu estou errado), mas eu não tenho certeza sobre os grandes.

(Sinta-se à vontade para opinar sobre o meu "não se incomoda" cenários acima, também.)

    
por Sopalajo de Arrierez 24.03.2014 / 16:58

1 resposta

2

Quando você executa ssh em uma máquina e executa cp fromFile toFile , essa cópia é executada completamente na máquina remota. Não se comunica através do ssh para fazer a cópia. De fato, sem nenhum argumento, o cp nem reportará progresso para a sessão do ssh, ele só será completado e então você verá o prompt.

Se você estiver copiando muitos arquivos pequenos e usar cp -v , o cp imprimirá o nome de cada arquivo à medida que for copiado. Imprimir o nome causará comunicação pela conexão ssh. É possível que, se você tiver uma conexão lenta, o comando cp imprima nomes de arquivo mais rápido do que o ssh possa transmiti-los, e parece possível que depois de imprimir nomes de arquivos suficientes, o cp pudesse bloquear a tentativa de gravar no stdout.

Eu nunca vi isso acontecer, e a velocidade do disco sempre foi o fator limitante, mas acho que é teoricamente possível.

    
por 24.03.2014 / 17:32