RSYNC está Lento ao Copiar Arquivos

A operação rsync é executada muito lentamente em um sistema de arquivos.

Causa: O rsync é uma operação serial, por isso é lenta ao copiar um sistema de arquivos grande, especialmente se os snapshots estiverem incluídos no processo.

Solução: Use uma das seguintes alternativas:

  • GNU Parallel para executar o rsync em paralelo. Por exemplo:
    time find /mnt/MyFileSystem -mindepth 1 -maxdepth 1 | parallel -P100 rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --exclude=.snapshot --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh {} root@10.0.3.6:/mnt/rsync_target

    Para obter mais informações, consulte GNU Parallel - GNU Project.

  • File Storage Parallel Tools

    Para obter mais informações e exemplos, consulte Usando as File Storage Parallel Tools.

  • O comando find com a opção xargs. Por exemplo:
    find ${source_dir}  -mindepth 1 -maxdepth 1 | xargs -P 24 -I {} rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --log-file=<logfile_path> -quiet -e ssh {} <destination_user>@<destination_instance>:<destination_dir>

    Consulte find(1)- Linux Man Page e xargs(1)- Linux Man Page para obter mais informações.

  • Se você estiver usando rsync para copiar arquivos de uma região para outra, consulte A cópia de Arquivos de Região para Região Usando RSYNC ou FPSYNC é Lenta.