回答:
どちらのプロトコルもSSHに基づいています。そしてSSH 自体にもオーバーヘッドがあります:
SCPは、いくつかの小さなファイルを転送するための非常に単純なアルゴリズムを備えた、非常に単純なプロトコルです。多くの同期(RTT-Round Trip Time)と小さなバッファー(基本的には2048 B- ソース)があります。
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.
-C
ません。 tパイプを介してデータを送信中にデータを圧縮しますか?
rsync
コマンドラインでは圧縮もチェックサムも指定されていません。もちろん、ファイル内デルタアルゴリズムは常にアクティブです。たぶんそれだけがscp
悪い。