ファイルのコピー時にRSYNCが遅くなる
ファイル・システムでrsync
操作の実行が非常に遅くなります。
原因: rsync
はシリアル操作であるため、大きいファイル・システムをコピーする場合(特にプロセスにスナップショットが含まれている場合)は、遅くなります。
解決策: 次のいずれかの代替方法を使用します:
- GNU Parallel:
rsync
をパラレルに実行します。例: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
詳細は、GNU Parallel - GNU Projectを参照してください。
- ファイル・ストレージのパラレル・ツール
詳細および例は、ファイル・ストレージのパラレル・ツールの使用を参照してください。
find
コマンドは、xargs
オプションとともに使用します。例: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>
詳細は、find(1) - Linuxのmanページおよびxargs(1) - Linuxのmanページを参照してください。
rsync
を使用して異なるリージョン間でファイルをコピーする場合は、RSYNCまたはFPSYNCを使用したリージョンからリージョンへのファイルのコピーが遅いを参照してください。