Warum ist robocopy so langsam?

Mr. Poe

Lt. Commander
Registriert
Juli 2010
Beiträge
1.806
hallo,

ich brauch hilfe für meine projektarbeit:
ich sollte verschiedene backup programme testen.
dabei is mir aufgefallen, das fastcopy und synctoy wesentlich schneller die dateien kopieren wie robocopy.

warum?

zum aufbau:
20Gb daten die über ein netzwerk mit gbit lan vom einen auf den anderen pc kopiert werden.
robocopy braucht dafür 30min
fastcopy und synctoy brauchen jeweils 10.
 
Vielleicht eine Einstellungssache? Ich kann mir nicht vorstellen, dass robocopy bei normalen Einstellungen so viel langsamer ist. Also entweder da ist irgendein Schalter ( von denen robocopy ja wahrlich viele hat XD ) falsch gesetzt, oder die anderen Testbedingungen waren nicht identisch ( Auslastung des Netzwerks, HDD modelle und/ oder deren Auslastung....etc)

Denn ich kopiere mittels mehrerer geplanten Tasks unter Win7 täglich große Datenmengen mit robocopy durch die Gegend und habe bisher nichts schnelleres gesehen.
 
Welche Parameter nutzt du denn mit Robocopy?

Ich synce auch täglich mehrere Ordner via Robocopy, und bekomme mein Gbit LAN damit auch voll.
 
Besseres Buffer-Handling, besseres Coding, bei dem Zeitunterschied evtl. auch noch andere Faktoren (Antivirus, parallel ablaufende Auslastung usw.), besseres Handling von SMB-Shares und Dateitransport, andere Kopierparameter oder oder... Recherchiere/Teste mal, welche Protokolle/Layer beim Kopieren über LAN genutzt werden. 10 vs 30 min sind schon sehr deutlich.
Für Deine Projektarbeit kannst Du noch testen, ob andere Programe schneller kopieren als robocopy, z.B. Bordmittel, copy, xcopy (mit /j switch kannst Du E/A Buffer für große Dateien deaktivieren), eseutil, teracopy, emcopy, richcopy uvm.

Wäre super, wenn Du Deine Ergebnisse und/oder Dein Fazit hier bereitstellst.
 
nein die 2 pcs sind genau die selben.

pc mit den daten: win7 x64
pc auf den die daten kopiert werden win2008r2 x64
auf beiden ist kein antivirus o.ä. installiert (windows komplett frisch installiert ohne sonnstige extras)
bei den computern handelt es sich um normale Dell Optiplex 755 (der mit win2008 hat halt ne 2te hdd. sonnst sind beide identisch)
die sind über einen ALLNET ALL 8891 1Gbit switch miteinander verbunden

auf eine 2te festplatte (nicht system platte!) wurden die dateien in jeweils unterschiedliche ordner kopiert.

beide programme haben alle daten kopiert.

optionen bei robocopy:

Code:
robocopy x:\daten\ e:\backupdir\robocopy\x\ /mir /copyall /ndl /b /r:0 /w:0 /m /mt:30 /log+:"e:\backupdir\log\robocopy\robocopy-x.txt"

fastcopy parameter:

Code:
fastcopy /cmd=diff /force_close /filelog /logfile=fc-x.log /force_start x:\daten /to=e:\backupdir\fastcopy\x
einstellungen habe ich nach der installation von fastcopy nicht geändert.

@edit:
ja ich hab schon länger gesucht aber bis jetzt keine brauchbare antwort gefunden. deswegen frag ich jetzt mal hier. ;)
 
Zuletzt bearbeitet:
Firewall ist auch aus? Rechner für jeden Kopiervorgang neu gestartet (Zieldateien vorher vollständig gelöscht, damit im nächsten Durchgang in den gleichen Zielplattenbereich geschrieben werden kann, die unterschiedlichen Zielverzeichnisse aus Deinen Befehlen lassen anderes vermuten)?
Ist das eine Projektarbeit für die Schule oder für's Studium/Job?
 
ja firewall hab ich auch ausgeschaltet.
ja die ordner aufm "server" hab ich gelöscht nachm vollbackup.

fastcopy sichert die dateien in einen anderen ordner wie robocopy.
sonnst würde ja fastcopy nur eine inkrementelle sicherung durchführen

für eine inkrementelle sicherung braucht robocopy 13min und fastcopy 2 1/2min. (9GB, 1900 dateien)

das sollte eig meine abschlussarbeit/projekt werden ;)
 
Zuletzt bearbeitet:
@OhNoIKilledMyHD: Er ist FISI Azubi wenn sein profil noch stimmt ;)

@TE: was du machen könntest, ist nicht mit einem Netzlaufwerk "e:" zu arbeiten sondern die UNC Pfade zu nehmen.

robocopy [quelle] [\\server\share\path] /MIR

"Um jedoch im Netzwerk ein Backup anlegen zu können, muss sichergestellt sein, dass das Benutzerkonto, welches Robocopy ausführt, Zugriff auf die Freigabe hat, ohne sich anmelden zu müssen. Robocopy selbst bietet keine Option, Benutzerdaten mit zu übertragen."
(Quelle: http://www.wintotal.de/artikel/artikel-2007/91.html)


Davon abgesehn, müssen wirklich alle Schalter sein?

/MIR Reicht für die Erstsicherung aller Daten aus.
Probieren nur mit /MIR bitte ;)
 
ja alle schalter müssen sein. (is von meinem betrieb vorgegeben, da ich eine alternative zur jetzigen sicherung mit robocopy suchen sollte.)

alle getesteten programme wurden mit admin rechten gestartet.

wenn ich robocopy anstelle des laufwerksbuchstabens mit unc pfaden starte, ändert sich and er dauer nichts.

es soll ja vom netzlaufwerk (x:) auf die lokale festplatte (e:) gesichert werden nicht anders rum.
 
Versuch es mal mit dem Parameter bei Robocopy

robocopy "x:\daten\" "e:\backupdir\robocopy\x\" /MIR /V /NP /LOG:"e:\backupdir\log\robocopy\robocopy-x.txt" /R:5 /W:2

ist wohl ne Einstellungssache...
 
was sollen die parameter /v /np /w:2 /r:5 bringen?
dadurch wirds nicht schneller.
das sind optionen für die log datei und wiederholversuchen bei fehlern.
 
ne. robocopy erzeugt die gleiche auslastung wie fastcopy.
nur manchmal bricht die übertragungsrate komplett ein. also so das vllt. 1-2 sekunden garnichts is und dann kommt wieder voll auslastung.

beide programme haben eine maximale auslastung von 48-50% (laut taskmanager)
das wird aber daran liegen, das die festplatte langsamer wies lan is...?

@edit:
wie meinste neueste robocopy version?
habs einfach nachm installieren von win2008r2 verwendet, ohne updates o.ä.
 
Zuletzt bearbeitet:
was sollen die parameter /v /np /w:2 /r:5 bringen?
dadurch wirds nicht schneller.
das sind optionen für die log datei und wiederholversuchen bei fehlern.
Log in File geht schneller.
Hast Du Dir mal die IPG Option angeschaut. Könnte die die Pausen erklären?

Und wie gesagt, checke mal über welchen Weg robocopy (und die Konkurrenten) kopieren.
Netbios, SMB over TCP...?
 
@Boum:
wenn ich den parameter /mt verwende, kommt die meldung unbekannter parameter.
wenn ich die log datei öffne steht bei options aber /MT:30, obwohl ich robocopy ohne diesen parameter ausgeführt habe.
auf der microsoft seite steht auch nichts über /mt :/

@OhNoIKilledMyHD:
also so viel schreibt der ja in die log datei nicht rein. auserdem wird das vom arbeitgeber so gefordert, das jede datei gelogt wird, d.h. ich kann/darf das nicht abschalten.

wie funktioniert die /ipg: option? also welche werte kann ich da reinschreiben? bei ms steht nix drin -.-

kannste mir sagen wie ich das prüfe?
auf den webseiten steht nix und google bringt auch nichts brauchbares.
ich glaub nämlcich auch, das es iwie mitm verwendeten protokoll zusammenhängt.
 
MT ist multithread quasie das gleizeitige Kopieren merhere Dateien
8 = 8 gleichzeitig, geht wohl bis 120 ;)
Edit
/mt ist neu bei W7 dazugekomen.
Oben im Beispiel deiner Optionen steht doch aber das /mt:30 drin?
Lass es einfach mal beim ausführen weg.


Belies dir mal hier

Hier eine recht große Liste der Befehle aber nicht ganz vollständig: hier

igp erzeigt Millisekunden-Pausen hinter jeder Übertragung, aber warum das hier beschleunigen sollte weis ich auch nicht.
Ein Artikel über igp: Hier
 
Zuletzt bearbeitet: (erweitert, RG)
Amarok2 schrieb:
wenn ich den parameter /mt verwende, kommt die meldung unbekannter parameter.
wenn ich die log datei öffne steht bei options aber /MT:30, obwohl ich robocopy ohne diesen parameter ausgeführt habe.
auf der microsoft seite steht auch nichts über /mt :/

wie funktioniert die /ipg: option? also welche werte kann ich da reinschreiben? bei ms steht nix drin -.-

siehe robocopy /? ...

kannste mir sagen wie ich das prüfe?
auf den webseiten steht nix und google bringt auch nichts brauchbares.
ich glaub nämlcich auch, das es iwie mitm verwendeten protokoll zusammenhängt.
Netzwerkverkehr sniffen? Netbios testweise deaktivieren? Anwendungsablauf verfolgen (z.B. procmon)?
Viele Möglichkeiten, aber Du sollst ja auch noch was zu tun haben ;)




igp erzeigt Millisekunden-Pausen hinter jeder Übertragung, aber warum das hier beschleunigen sollte weis ich auch nicht.
Wäre nur ein Versuch. Schliesslich bricht ja laut OP die NIC-Auslastung abundzu ein. Ist aber nicht gerade mein erster Tipp und harmoniert nicht mit /mt:...
 
der funktioniert weder bei win7 noch bei win2008r2 (is ja eig auch nur win 7 nur ohne aero und dem zeugs)
ich starte robocopy so wie ich das in post #6 geschrieben hab, trotzdem taucht in der log datei "/MT:30" auf.

/ipg is ja eher kontraproduktiv...
standart sollte doch eig /ipg:0 sein?

@OhNoIKilledMyHD:
ja an wireshark hab ich auch schon gedacht...
werds demnächst mal ausprobieren.
 
Zuletzt bearbeitet:
Zurück
Oben