Rsync --bwlimitが機能しない

Rsync --bwlimitが機能しない

現在、rsyncを使用してあるホストから別のホストに大容量ファイルを転送しています。この振替の借方金額を制限したいです。マニュアルページを読んだ後、--bwlimitオプションにKB / sの値が必要であることがわかりました。

転送速度を約100Mbit/sに制限したかったので、次の設定を使用しました。

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

しかし、rsyncの出力によると、これは尊重されていないようです。

file.sql.gz
   570851702 100%   33.90MB/s    0:00:16 (xfer#5, to-check=34/39)
file.sql.gz
    11195140 100%    7.45MB/s    0:00:01 (xfer#6, to-check=33/39)
file.sql.gz
    51439169 100%   19.41MB/s    0:00:02 (xfer#7, to-check=32/39)
file.sql.gz
       34022 100%    1.55MB/s    0:00:00 (xfer#8, to-check=31/39)
file.sql.gz
     2305698 100%    6.96MB/s    0:00:00 (xfer#9, to-check=30/39)
file.sql.gz
     2152942 100%    2.73MB/s    0:00:00 (xfer#10, to-check=29/39)
file.sql.gz
    86655633 100%   19.33MB/s    0:00:04 (xfer#11, to-check=28/39)
file.sql.gz
  3614476032  40%   34.82MB/s    0:02:28

私の記憶が正しい場合: 19.33MB/s ~= 154Mbit/s

では、ここで何が間違っていますか?

PS:rsyncバージョン3.0.6プロトコルバージョン30

ご協力ありがとうございます!

答え1

私はあなたがマニュアルページで言及された「フレア」のいくつかを経験していると思います。

--bwlimit=RATE
          ... 
          Some "burstiness" may be seen where rsync writes out a block 
          of data and then sleeps to bring the average rate into compliance.

だからさっき尋ねたように、仕事を終えたら全体の割合が10Mに制限されます。

答え2

で述べたようにrsync のマニュアルページ、KByte / sec単位で送信されます。

--bwlimit=KBPS          limit I/O bandwidth; KBytes per second

答え3

転送速度を約100Mbit/sに制限したかったので、次の設定を使用しました。

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

100Mbit/sは(およそ)10MByte/sであり、実際には10,000KByte/sです。rsync予期しない状況が発生した場合は、別のツールが役立つ可能性trickleがあります。

trickle -s -d 10000 -u 10000 -t 10 -l 100 rsync --progress -v --temp-dir=/tmp srv:/tmp/* /tmp/

答え4

表示される値は、圧縮アルゴリズムとデルタアルゴリズムによって提供される速度を含む有効な転送速度です。これは、部分的な転送が有効になっている間に中断されたセッションを再開した場合、大きな数字を見ると簡単に観察できますrsync(例:)。--append-verify

関連情報