davfsがインストールされているクラウドストレージに約400個のファイル(それぞれ約25MB)をコピーする必要があります。 CPU負荷とIO負荷を制限するために、次のコマンドを試しました。
nice -n 15 ionice -c 3 rsync -avhW --no-compress --progress /src/ /dst/
私のターゲットフォルダは、dst
davfsによってマウントされたクラウドストレージです。ファイルを転送するたびに、rsyncには数秒しかかかりません。少なくともその程度は速いようです。
sending incremental file list
xxx
26.70M 100% 15.75MB/s 0:00:01 (xfer#1, to-check=0/1)
sent 26.70M bytes received 31 bytes 7.63M bytes/sec
total size is 26.70M speedup is 1.00
rsyncや良いプロセスが実行されていることはわかりませんが、データ転送がまだバックグラウンドで実行されているため、システムは非常に遅いです。マウントされたクラウドストレージにはdavfsプロセスが1つしかありません。数分後、システムが再び応答し、ファイル転送が完了しました。
netstat
クラウドストレージへのアクティブな接続を表示します。
システム速度の低下を防ぐために、davfsがインストールされているクラウドストレージの帯域幅を制限する方法は?
答え1
Rsync(現在)にはbwlimitオプションがあります。
--bwlimit=RATE
This option allows you to specify the maximum transfer rate for the data sent over the
socket, specified in units per second. The RATE value can be suffixed with a string to
indicate a size multiplier, and may be a fractional value (e.g. "--bwlimit=1.5m"). If
no suffix is specified, the value will be assumed to be in units of 1024 bytes (as if "K"
or "KiB" had been appended). See the --max-size option for a description of all the
available suffixes. A value of zero specifies no limit.
For backward-compatibility reasons, the rate limit will be rounded to the nearest KiB
unit, so no rate smaller than 1024 bytes per second is possible.
Rsync writes data over the socket in blocks, and this option both limits the size of the
blocks that rsync writes, and tries to keep the average transfer rate at the requested
limit. Some "burstiness" may be seen where rsync writes out a block of data and then
sleeps to bring the average rate into compliance.
Due to the internal buffering of data, the --progress option may not be an accurate
reflection on how fast the data is being sent. This is because some files can show up as
being rapidly sent when the data is quickly buffered, while other can show up as very
slow when the flushing of the output buffer occurs. This may be fixed in a future ver‐
sion.