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çãoxargs
. 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.