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

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

Cenário de exemplo:
-Linuxmáquina (acho que o sistema operacional não incomoda).
-Servidor OpenSSH.
-Arquivo grande de origemno disco rígido, cerca de 2GB (acho que SSD ou HD clássico também não incomoda).
- Destino do arquivo: a (moderadamente rápido 2.0)Pendrive USB(Acho que 3.0 ou mesmo 1.0 também não incomodaria).

Vou pedir um simples:

cp MyBigFile.iso /media/pendrive

O pendrive está conectado à mesma máquina.
Dois casos:

  1. Concha local(Eu sento na máquina e faço cp) cópia ordenada de execução do arquivo grande.
  2. Concha SSH(Vou para outro computador na mesma LAN e efetuo login via cliente SSH) cópia solicitada remotamente do arquivo grande.

Faz algum sentido esperar alguma diferença na velocidade? Por que?

Penso que, de facto, quando a cópia incluimuitos 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 estou errado), mas não tenho certeza sobre os grandes.

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

Responder1

Quando você faz ssh em uma máquina e executa cp fromFile toFile, essa cópia é executada completamente na máquina remota. Ele não se comunica por ssh para fazer a cópia. Na verdade, sem nenhum argumento, o cp nem mesmo reportará o progresso para a sessão ssh, apenas será concluído e então você verá o prompt.

Se você estiver copiando muitos arquivos pequenos e usar cp -v, cp imprimirá o nome de cada arquivo à medida que o copia. 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 arquivos mais rápido do que o ssh pode transmiti-los pela rede, e parece possível que, após imprimir nomes de arquivos suficientes, cp possa bloquear a tentativa de gravar no stdout.

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

informação relacionada