Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9729[/thread]

rsync macht nicht das...: ... was es soll

Leser: 2


<< >> 9 Einträge, 1 Seite
mordur
 2004-08-18 17:44
#95056 #95056
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
moins,

und zwar überträgt mein rsync immer die abzugleichende Datei komplett, statt nur des Unterschiedes. Dabei heisst es doch
im README :
rsync uses the "rsync algorithm" which provides a very fast method for
bringing remote files into sync. It does this by sending just the
differences in the files across the link, without requiring that both
sets of files are present at one of the ends of the link beforehand.

ich habe rsync 2.6.2 auf Suse Linux 7.3 und starte mit folgender Shell:
rsync -avrz -e ssh /Tmp/meineDatei.txt user@remotehost:~/Tmp/meineDatei.txt

wer hat Erfahrung mit rsync? Überträgt rsync immer komplette Dateien? Was gibts denn sonst so? bsdiff und xdelte hab ich schon probiert, eignen sich nicht so gut.
Ronnie
 2004-08-18 18:08
#95057 #95057
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Da hängt wahrscheinlich von der Größe der Datei ab. rsync wird für Blöcke der Datei eine Checksumme bilden und die entsprechenden Blöcke dann übertragen oder nicht, jenachdem ob die Checksumme übereinstimmt. Wenn die Datei klein ist, wird wahrscheinlich immer die Datei übertragen. Ich habe keine Ahnung wie groß so ein Block ist, würde aber mal mutmaßen das er nicht kleiner ist als 4kByte.

UPDATE: Die default Blockgröße scheint bei 700 Bytes zu liegen.\n\n

<!--EDIT|Ronnie|1092838566-->
ptk
 2004-08-18 18:11
#95058 #95058
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das kann ich nicht bestaetigen. Ich habe zuhause nur ISDN, und da ist es kein Problem, einen kompletten Verzeichnisbaum auf einen entfernten Rechner zu uebertragen, es sei denn, es geht um binaere Dateien, die sich zu sehr geaendert haben. Einzig beim lokalen rsync scheint die gesamte Datei uebertragen zu werden.
mordur
 2004-08-18 18:21
#95059 #95059
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
das sagt die meldung
building file list ... done
datei.so

wrote 401700 bytes read 7450 bytes 6994.02 bytes/sec
total size is 1532824 speedup is 3.75

1532824 ist genau die Größe der Datei. Selbst nicht geänderte Dateien werden komplett übertragen\n\n

<!--EDIT|mordur|1092838938-->
betterworld
 2004-08-18 18:23
#95060 #95060
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Hilft --checksum?
mordur
 2004-08-18 18:29
#95061 #95061
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
nö, bleibt dabei...
ptk
 2004-08-18 19:02
#95062 #95062
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=mordur,18.08.2004, 16:21]das sagt die meldung
building file list ... done
datei.so

wrote 401700 bytes read 7450 bytes 6994.02 bytes/sec
total size is 1532824 speedup is 3.75

1532824 ist genau die Größe der Datei. Selbst nicht geänderte Dateien werden komplett übertragen[/quote]
Nein, es wurden nur 401700 + 7450 Bytes uebetragen. wrote und read ist relevant. Speedup zeigt an, dass du durch rsync 3.75x schneller bist.
mordur
 2004-08-18 19:43
#95063 #95063
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
wieso dauert dann ein Abgleich ziwschen einer Binärdatei alt=1511480 Byte groß und neu=1532824 Byte groß über ISDN geschlagene 3,6 minuten ?

ein normales scp schaftt 3,25 min. Da wäre rsync dann völlig überflüssig? Oder versteh ich was nicht?

oder geht es so langsam weil es sich um Binärdateien handelt?\n\n

<!--EDIT|mordur|1092844553-->
ptk
 2004-08-18 20:35
#95064 #95064
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
rsync zeigt bei dir 6994.02 bytes/sec an. Wenn man bedenkt, das sich diese Angabe auf die Gesamtgroesse, nicht die tatsaechliche uebertragenen Daten bezieht, dann ist das schon recht schwach :-)

Vielleicht hast du parallel noch einen anderen Download gehabt? Oder eine der beiden Maschinen ist langsam oder ueberlastet? Mit rsync -z wird ja noch komprimiert, und bei Uralt-Maschinen duerfte sich die zusaetzliche CPU-Last bemerkbar machen. Beide Maschinen muessen zudem noch die Checksums ueber die Datei berechnen, auch das kann u.U. langsam sein.

Ich habe nur einmal von rsync auf eine ssh+perl-Kombination umgestellt, naemlich bei der Uebertragung eines grossen accesslogs (ca. 400MB). Das Problem war, dass auf der anderen Seite die Datei komplett in den Speicher geladen werden musste, um die Checksums festzustellen. Das war relativ langsam. Da es sich um ein accesslog handelte (nur neue Daten kommen ans Ende hinzu), war es schneller, die Dateilaengen auf beiden Rechnern festzustellen und das fehlende Stueck normal per ssh zu uebertragen.
<< >> 9 Einträge, 1 Seite



View all threads created 2004-08-18 17:44.