web-dev-qa-db-ja.com

rsyncが使用する帯域幅を減らしますか?

Rsyncを使用して、ネットワーク共有とコンピューターをバックアップおよび同期しています。私はこれを理解しました。

問題は、rsyncを使用してファイルを転送するときに、可能なすべての帯域幅を使用することです。接続速度を他の目的に使用できるように、速度を制限します。

具体的には、現在、Last.FMを聴いていますが、rsyncがローカル接続を飽和させているため、カットアウトが続いています。

ありそうに聞こえないかもしれませんが、この場合、私のLANは本当にインターネットと同じくらい高速です(両方とも10メガビット、大学です!)。いずれにせよ、rsyncの実行中は、追加の帯域幅はありません。何か案は?

ああ、ところで、具体的にはUbuntu 9.04を実行しています。

46
Mike Cooper

使用 --bwlimit=KBPS I/O帯域幅を制限するオプション、1秒あたりのキロバイト数

man page も参照してください。

67
DaveParillo

(理想的には joshtronicのコメント )への返信になります

--bwlimit=XX実際には反対の問題があります。転送は確かに移動平均です— Rsync Basicsが役立つ explains

Rsync転送の性質上、データのブロックが送信され、rsyncが転送が速すぎると判断した場合、次のデータブロックを送信する前に待機します。結果は、指定された制限に等しい平均転送速度になります。

ファイル全体で平均をとるかどうかは明確ではありませんが、いずれにしても

最初のファイルは完全に送信され、後続のファイルは指定された帯域幅の値に到達しようとするために抑制されます

実際、平均化を開始するのに十分な大きさである限り、最初のファイルは抑制されます(つまり、最小のファイルを除くすべて)。

trickle の方がより良い解決策だと思いますが、説明論文( " Trickle:A Userland Bandwidth Shaper for Unix-like Systems ")から私が理解していることはtricklealsoは、移動転送平均に基づいてI/Oを遅延させることで機能します。平均を適用するために、より高い周波数の測定を使用することをお勧めすることで、私は希望を推測します。これが事実であることを確認するデータをオンラインで見つけることができませんでした(ただし、上記の論文ではrsyncのコードを「シンプル」と呼んでいますが、trickleの作成者は自分たちのコードだと考えていますより良い仕事をします)。

20
supervacuo