scp user@aws-ec2:~/file file
rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file
scp
では200K/sしか得られませんが、rsync
では1.9M/sが得られます
私は数回テストしましたが、すべて同じ結果でした。
rsync
は複数のスレッドを使用しますか?
どちらのプロトコルもSSHに基づいています。そして、SSH それ自体はいくつかのオーバーヘッドがあります :
SCPは、いくつかの小さなファイルを転送するための非常に単純なアルゴリズムを備えた、非常に単純なプロトコルです。多くの同期(RTT-Round Trip Time)と小さなバッファー(基本的には2048 B- source )があります。
Rsyncはパフォーマンスを重視して作られているため、より優れた結果をもたらし、より多くの機能を備えています。
10倍のスピードアップはあなたのケースに固有です。全世界でレイテンシの高いレーンを介してファイルを転送する場合、scp
の場合はパフォーマンスが大幅に低下しますが、ローカルネットワークではパフォーマンスはほぼ同じです。
そして、いいえ、圧縮(-C
for scp
)は役に立ちません。最大の問題は、待ち時間とバッファサイズです。
[〜#〜] scp [〜#〜] 基本的に、ソースから宛先にローカルまたはSSHを使用してネットワーク全体にプレーンな古いコピーを行いますが、-C
スイッチを使用してSSH圧縮を有効にし、ネットワーク全体のデータのコピーを潜在的に高速化します。
[〜#〜] rsync [〜#〜] データ転送中にネットワーク接続を自動的に最適化する効率的なチェックサム検索アルゴリズムを使用して、2つのファイルセット間の違いのみをネットワーク接続経由で転送します。
[〜#〜] rsync [〜#〜]
[〜#〜]説明[〜#〜]
rsync is a program that behaves in much the same way that rcp does, but has many more options and uses the rsync remote-update protocol to greatly speed up file transfers when the destination file is being updated. The rsync remote-update protocol allows rsync to transfer just the dif- ferences between two sets of files across the network connection, using an efficient checksum-search algorithm described in the technical report that accompanies this package.
[〜#〜] scp [〜#〜]
[〜#〜]説明[〜#〜]
scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same secu‐ rity as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication. File names may contain a user and Host specification to indicate that the file is to be copied to/from that Host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treat‐ ing file names containing ‘:’ as Host specifiers. Copies between two remote hosts are also permitted.