Gibt es bei einem einfachen „Kopieren“-Befehl für eine große (2 GB) Datei möglicherweise einen Geschwindigkeitsunterschied zwischen der lokalen Ausführung und der Ausführung per SSH?

Gibt es bei einem einfachen „Kopieren“-Befehl für eine große (2 GB) Datei möglicherweise einen Geschwindigkeitsunterschied zwischen der lokalen Ausführung und der Ausführung per SSH?

Beispielszenario:
-LinuxMaschine (ich glaube, das Betriebssystem stört mich nicht).
-OpenSSH-Server.
-Große Quelldateiauf der Festplatte, etwa 2 GB (ich glaube, SSD oder klassische HD machen auch nichts aus).
- Ziel für die Datei: a (mäßig schnell 2.0)USB-Stick(Ich glaube, 3.0 oder sogar 1.0 würden auch nicht das Problem sein).

Ich bestelle ein einfaches:

cp MyBigFile.iso /media/pendrive

Der USB-Stick ist an dieselbe Maschine angeschlossen.
Zwei Fälle:

  1. Lokale Shell(Ich sitze an der Maschine und mache cp) die Ausführung der angeordneten Kopie der großen Datei.
  2. SSH-Shell(Ich gehe zu einem anderen Computer im selben LAN und melde mich über den SSH-Client an) Per Fernzugriff eine Kopie der großen Datei angefordert.

Ist es sinnvoll, einen Geschwindigkeitsunterschied zu erwarten? Warum?

Ich denke, wenn die Kopie tatsächlichviele kleine Dateien, die Kommunikation (für die SSH-Shell) zwischen Server und Client könnte viele kleine Verzögerungen verursachen (korrigieren Sie auch diese Logik gerne, wenn Sie denken, dass ich falsch liege), aber bei großen bin ich mir nicht sicher.

(Sagen Sie mir gerne Ihre Meinung zu meinem"stört nicht"auch die oben genannten Szenarien.)

Antwort1

Wenn Sie sich per SSH mit einem Computer verbinden und ausführen cp fromFile toFile, wird diese Kopie vollständig auf dem Remotecomputer ausgeführt. Es erfolgt keine Kommunikation über SSH, um die Kopie zu erstellen. Tatsächlich meldet cp ohne Argumente nicht einmal den Fortschritt an die SSH-Sitzung, sondern führt nur den Abschluss durch und Sie sehen dann die Eingabeaufforderung.

Wenn Sie viele kleine Dateien kopieren und verwenden cp -v, druckt cp den Namen jeder Datei beim Kopieren aus. Das Drucken des Namens führt zu einer Kommunikation über die SSH-Verbindung. Wenn Sie eine langsame Verbindung haben, ist es möglich, dass der Befehl cp Dateinamen schneller druckt, als SSH sie über das Kabel übertragen kann. Außerdem ist es möglich, dass cp nach dem Drucken einer ausreichenden Anzahl von Dateinamen den Schreibversuch auf stdout blockiert.

Ich habe das noch nie erlebt und die Festplattengeschwindigkeit war schon immer der begrenzende Faktor, aber ich denke, dass es theoretisch möglich ist.

verwandte Informationen