rsync paralela vs transmissões seriais

1

Usando o Bash 4 e o rsync no RHEL 6, há alguma diferença entre os métodos a seguir? Em caso afirmativo, qual é mais eficiente e quais são as diferenças entre esses três métodos:

1) rsync -avz /files/* user@remote_server:/remote_files
2) for file in /files/*; do rsync -avz $file user@remote_server:/remote_files;done
3) for file in /files/*; do screen rsync -avz $file user@remote_server:/remote_files;done

Eu estou procurando informações relativas ao que irá transmitir o mais rápido, dado o mesmo servidor. E se houver um número baixo de arquivos grandes, contra um grande número de arquivos pequenos? Isso importa?

    
por Gregg Leventhal 16.05.2014 / 18:12

1 resposta

2

I am looking for information pertaining to what will transmit the fastest, given the same server.

Não deve haver nenhuma diferença significativa porque o gargalo é a velocidade da rede.

Em outras palavras, enquanto # 3 pode ser discutido em relação ao # 1 e # 2 como introdução à possibilidade de paralelismo (não estou familiarizado o suficiente com screen para dizer, mas se ele for para segundo plano e executar rsync , seria), isso não importará para o tempo final necessário. Se a largura de banda entre você e seu destino for limitada a 3 MB / s, não importa se em um determinado segundo um processo é responsável por todo o processo, ou 10 processos paralelos, cada um usa uma parte: você ainda estará sincronizando em 3 MB / s.

WRT # 2 (e # 3 se a tela não se separar), a menos que você faça o background rsync no loop for (com & ), você está sincronizando cada arquivo em sequência , então não há paralelismo ou vantagem possível.

    
por 16.05.2014 / 18:28