RSYNC es lento al copiar archivos

La operación rsync se ejecuta muy lentamente en un sistema de archivos.

Causa: rsync es una operación en serie, por lo que es lenta cuando copia un sistema de archivos grande, especialmente si las instantáneas están incluidas en el proceso.

Solución: utilice una de las siguientes alternativas:

  • GNU Parallel para ejecutar rsync en paralelo. Por ejemplo:
    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 obtener más información, consulte GNU Parallel - GNU Project.

  • File Storage Parallel Tools

    Para obtener más información y ejemplos, consulte Uso de File Storage Parallel Tools.

  • El comando find con la opción xargs. Por ejemplo:
    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 y xargs(1)- Linux Man Page para obtener más información.

  • Si utiliza rsync para copiar archivos de una región a otra, consulte La copia de archivos de una región a otra mediante RSYNC o FPSYNC es lenta.