RSYNC est lent lors de la copie de fichiers

L'opération rsync s'exécute très lentement sur un système de fichiers.

Cause : rsync est une opération en série, qui est donc lente lors de la copie d'un système de fichiers volumineux, en particulier si des instantanés sont inclus dans le processus.

Solution : Utilisez l'une des options suivantes :

  • GNU Parallel pour exécuter rsync en parallèle. Par exemple :
    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

    Pour plus d'informations, voir GNU Parallel - GNU Project.

  • Outils parallèles de stockage de fichiers

    Pour plus d'informations et des exemples, voir Utilisation des outils parallèles de stockage de fichiers.

  • La commande find avec l'option xargs. Par exemple :
    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>

    Pour plus d'informations, voir find(1)- Page Man Linux et xargs(1)- Page Man Linux.

  • Si vous utilisez rsync pour copier des fichiers d'une région à une autre, voir La copie de fichiers d'une région à une autre à l'aide de RSYNC ou de FPSYNC est lente.