GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum gibt mir rsync über SSH den 10-fachen Durchsatz von SCP?

RSYNC gegen SCP

SCP erstellt im Grunde genommen eine einfache alte Kopie von der Quelle zum Ziel lokal oder über ein Netzwerk mit SSH, aber Sie können möglicherweise den -C verwenden Schalter, um die SSH-Komprimierung zu aktivieren, um möglicherweise das Kopieren von Daten über das Netzwerk zu beschleunigen.

RSYNC überträgt nur die Unterschiede zwischen zwei Dateisätzen über die Netzwerkverbindung, wobei ein effizienter Prüfsummen-Suchalgorithmus verwendet wird, der die Netzwerkverbindung während einer Datenübertragung automatisch optimiert.

RSYNC

BESCHREIBUNG

   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.

Quelle

SCP

BESCHREIBUNG

 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.

Quelle


Beide Protokolle basieren auf SSH. Und SSH selbst hat etwas Overhead:

SCP ist ein wirklich naives Protokoll mit einem wirklich naiven Algorithmus zum Übertragen einiger kleiner Dateien. Es hat viel Synchronisation (RTT - Round Trip Time) und kleine Puffer (im Grunde 2048 B - Quelle).

Rsync ist auf Leistung ausgelegt und liefert daher viel bessere Ergebnisse und mehr Funktionen.

Die 10-fache Beschleunigung ist spezifisch für Ihren Fall. Wenn Sie Dateien über Lanes mit hoher Latenz um die ganze Welt übertragen würden, würden Sie auf dem scp eine viel schlechtere Leistung erzielen Fall, aber im lokalen Netzwerk kann die Leistung fast gleich sein.

Und nein, Komprimierung (-C für scp ) wird nicht helfen. Die größten Probleme sind die Latenz und die Puffergröße.


Linux
  1. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  2. Warum benötigt der Root-Benutzer eine Sudo-Berechtigung?

  3. Warum fügt die Ssh -t Option Cr &Lf in der umgeleiteten Ausgabe hinzu?

  4. Warum kann ich die Linux-Anzeige nicht exportieren?

  5. Warum liefert xargs -L das richtige Format und xargs -n nicht?

So übertragen Sie Dateien mit Rsync über SSH

Setzen Sie teilweise übertragene Dateien über SSH mit Rsync fort

Warum führt das Forking meines Prozesses dazu, dass die Datei unendlich gelesen wird?

Gibt ein kompromittierter Kernel vollständige Kontrolle über ein Gerät?

Warum funktioniert das Setuid-Bit inkonsistent?

Rsync über SSH erhält kein tty vorhanden