Rsync-ing arquivos altamente compressíveis - estou faltando alguma coisa aqui?

2

Hoje eu estava usando o rsync através de uma conexão lenta com a internet para transferir um arquivo de vídeo - avi descompactado, 60 segundos de duração e 360MB de tamanho. Basicamente continha 1500 quadros da mesma imagem e, portanto, era altamente compressível.

A velocidade máxima de upload na minha conexão com a Internet é de 130 KB / s. Eu corri o rsync assim:

rsync -avhz --progress --partial myfile.avi remote:/path/

A velocidade de transferência variou de 400KB / s para 1,5MB / s. Eu acidentalmente Ctrl+C o rsync em execução depois que o arquivo foi transferido pela metade. Mas não se preocupe, eu usei --partial switch, então eu apenas reiniciei o rsync com os mesmos parâmetros de antes. Só que agora a velocidade de transferência era de 80MB / s!

Eu tentei isso de novo e de novo e de novo. Mesmo sem a opção -z , o resultado foi o mesmo. Na primeira execução, a velocidade de transferência era de 1,5 MB / s, mas depois de interromper o rsync depois de um tempo e reiniciá-lo, o restante do arquivo foi transferido quase instantaneamente. O md5sum corresponde aos dois extremos.

A minha pergunta é: alguém pode explicar este comportamento para mim? Estou faltando alguma coisa óbvia aqui? Eu esperaria que o arquivo fosse transferido muito mais rápido já com a chave -z na primeira vez, mas eu não esperaria que ele acelerasse tão drasticamente sem usar -z depois de retomar a transferência.

    
por Brane 14.11.2013 / 23:37

1 resposta

2

man rsync

Da descrição:

"É famosa por seu algoritmo de transferência delta, que reduz a quantidade de dados enviados pela rede enviando apenas as diferenças entre os arquivos de origem e os arquivos existentes no destino."

Assim, a velocidade que você indicou mais ou menos como a rsync pôde confirmar que o arquivo já foi transferido ou confirmar e transferir as partes alteradas / ausentes.

    
por Anders F. U. Kiær 15.11.2013 / 03:11