なぜ rsync -avz は scp -r よりも速いのですか?

rsync scp

これにはちょっと戸惑いました?なぜ rsync は scp よりも速いのか?rsync は scp を下に使わないのか、それとももっと効率的なことをしているのか?scp を高速化する方法はありますか?

  60  grm  2010-09-29


ベストアンサー

rsync は差分をコピーするだけなので、ターゲットにソースファイルのいくつかがすでに含まれている場合、明らかに scp よりも速くなります。しかし、あなたの質問は空のターゲットへの簡単なコピーについてのものではないでしょうか

-z オプションを rsync に渡しました。ネットワークの帯域幅が制限要因になっている場合 (多くの場合そうです)、圧縮は転送速度を顕著に向上させることができます

-C オプションを渡すことで scp で圧縮を有効にすることもできます。これで、rsync との間ではほぼ互角になるはずです。圧縮は帯域幅を節約しますが、待ち時間と CPU のオーバーヘッドが追加されるため、ssh ではデフォルトでは圧縮は有効になっていません。待ち時間は対話型セッションには不利です (これは scp には適用されません)

古いバージョンのrsyncはデフォルトのトランスポート層としてsshではなくrshを使っていました。しかし、2004年1月1日にリリースされた2.6.0以降は、sshがデフォルトとなっています

同一の圧縮設定では、rsyncscpは実質的に同じ速度になると思います。もしそうでないことがわかったら、ベンチマークを共有してください

77  Gilles ‘SO- stop being evil’  2010-09-29


早速SCPを試してみましょう

scp -p -C -o 'CompressionLevel 9' -o 'IPQoS throughput'  -c arcfour machine:file .

これらのオプションは私の設定では、通常の scp machine:file と比較して scp を 5 倍高速化します

Update, 2017

実際に scp が遅いのは、MTU やバッファサイズなどの TCP の詳細の管理が悪いためです。幸いにもこれは HPN SSH プロジェクトによって修正されています。私の理解では、HPN SSH を rsync のトランスポートとして使うことができます

15  Peter K  2014-07-24


以前はその逆でしたが、ここ数回のリビジョンでrsyncの速度が大幅に向上したと思います。また、コピーするファイルの数にもよります。多ければ、scp はコピーするファイルごとに新しいプロセスを生成するので、通常 rsync の方が速くなります。scp が使用している暗号を弱くしてみると速くなるかどうかがわかります。最後の記憶では arcfour 暗号が一番速かった

4  churnd  2010-09-29


多数の小さなファイルの場合、rysnc は scp よりもはるかに高速です。オーバーヘッドが小さいからだそうです。1つの大きなファイルでは、同じような結果が得られると思います

3  sencer  2012-12-17


私のテストでは、rsync は scp よりも高速です

sudo iotop -o

違った結果が得られるかもしれませんが、自分でテストしてみてください。ちなみに、scpを使っている間は、暗号の選択に迷わないようにしてください

scp -c arcfour <source> <dest>

arcfourが暗号化を高速化できる一方で

3  coanor  2013-04-05


既存のファイルの上にファイルを再コピーしていますか?そうであれば、比較をブロックして差分だけをコピーする rsync の機能が関係してきます

0  Linker3000  2010-09-29


タイトルとURLをコピーしました