Rsync --bwlimitが機能しない


12

私は現在、rsyncを使用して大きなファイルをホストから別のホストに転送しています。この送金の引き落としを制限したいと思います。マニュアルページを読んだ後、KB / s値を予期しているオプション--bwlimitを見つけました。

transfertを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

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


ここでは、同じパラメーターを使用して、rsync 3.0.4(Ubuntu)、3.0.6(openSUSE)、および3.0.9(Ubuntu)で動作します。システムに関する詳細情報を提供する必要があります。
scai

これは役に立ちますか?stackoverflow.com/questions/10064316/...
mreithub

@mreithubこの投稿の答えは確かに興味深いですが、実際にはHugoはかなり大きなファイルを転送しているようです。
scai

各ファイルのrsync bwlimits、bwを制限するには接続を制限する必要があります(Linuxではiptables + tc atmail.com/kb/2009/throttling-bandwidthを使用)ので、簡単な方法はありません。
zb

こんにちは、私はRHEL 6を実行していますが、それほど大きな違いはありません。はい、これは大きなファイルなので、借方はほぼ安定しています。参考までに、SCPと同等のコマンドがうまく機能しています。だから私はrsyncの何が悪いのか分かりません。
Hugo

回答:


10

マンページに記載されているように、「バースト性」が発生したと思います。

--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に制限されました。


4

rsyncのmanページで述べたように、キロバイト/秒で転送します

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

2
それが私が使用したものです:10 000キロバイト= 78.12500メガビット
Hugo

2
あなたは私が言ったことに注意を払わなかった。rsync はビットではなくバイトを使用するため、帯域幅をビット単位で計算し、それをバイトに
変換

私が同じ問題を抱えています、私が置くとき--bwlimit=100、私は275kB / sを取得します、265-285 kB / sの間で非常に規則的で、バースト性はありません。ここで何が問題になっていますか?
Brethlosze 2017

2

転送を約100Mbit / sに制限したいので、次の設定を使用しました:

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

100 Mbit / sは(約)10 MByte / sであり、実際には10,000 KByte / sです。rsyncバースト性が発生している場合は、別のツールtrickleが役立つでしょう:

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

0

示されている値は、圧縮とデルタアルゴリズムからの速度を含む有効な転送速度です。これは、中断されたrsyncセッションが部分転送を有効にして再開された場合(ex --append-verify)、大きな数値を確認することで簡単に確認できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.