Otimizando o rsync para transferir arquivos grandes rapidamente

16

Isso é o que eu preciso:

  • Daemon do Rsync em execução no servidor de origem. O servidor de destino faz um pull do rsync como abaixo:
    rsync -ptv rsync://source_ip:document/source_path/*.abc destination_path/
  • Arquivos binários enormes (de 3 GB a 5 GB) são copiados da máquina de origem para o destino em uma LAN. Portanto, não é necessária criptografia / descriptografia. Por isso, não usando o SSH. A máquina de destino se conecta diretamente ao daemon rsync.
  • A pasta de destino estará sempre vazia antes do pull do rsync. Portanto, não preciso me preocupar com a atualização condicional de alguns arquivos. O rsync pull sempre criará novos arquivos no destino (não atualização). Portanto, não preciso do rsync para calcular somas de verificação.

Eu não estou satisfeito com a quantidade de CPU consumida pelo rsync na extremidade de recepção? Quais opções de rsync me ajudarão a otimizar o uso de rsync no caso explicado acima. O que me preocupa é que o rsync pode estar fazendo mais do que eu preciso. arquivos checksums rsync. Eu não preciso disso.

Também gostaria de ver melhorias de velocidade.

Mudar tamanho de bloco, desabilitar checksum etc vai ajudar?

    
por Varun 07.05.2012 / 13:22

1 resposta

23

Parece que você pode querer dar uma olhada na opção --whole-file ou -W . Isso é ativado por padrão se o rsync estiver fazendo cópias do sistema de arquivos local, mas acho que os documentos recomendam seu uso se a velocidade da LAN estiver alta e sincronizando pela rede.

Basicamente, ele desativa o algoritmo rsync delta e apenas transfere o arquivo inteiro se ele acredita que é diferente.

Você não precisa se preocupar com a soma de verificação, a menos que você force -c . Por padrão, ele apenas observa a hora da última modificação e o tamanho do arquivo e assume que os arquivos são diferentes se esses valores forem diferentes.

    
por 07.05.2012 / 13:33

Tags