Przesyłam pliki z systemu Linux do systemu Windows 7 za pośrednictwem zamontowanego udziału (udział jest montowany z systemu Windows w systemie Linux). Kopiuję dużo danych (tj. Prawie TB) ze starego na nowy komputer w mojej sieci LAN . Mam już dość szczęścia, że mam tylko 100 MB. Oczywiście na ślepo korzystałem z rsync, ale już po dniu zastanawiałem się, dlaczego tak wolno. Włączenie miernika postępu pokazało moją prędkość transferu około 2 MB / s.
Więc wziąłem rozsądny duży plik (800 MB) i śledziłem czas przesyłania (1):
cp : 05:33
scp (2): 06:33
rsync : 21:51
1) Usunąłem pliki między każdym uruchomieniem
2) scp przez localhost na tym samym komputerze z Linuksem bezpośrednio do udziału; całkowicie bezużyteczne, ale zapewniło wskaźnik postępu
Testy były tak proste jak
(cp|scp|rsync) <source> <destination>
Brak specjalnych argumentów oprócz hosta / portu dla scp. Próbowałem nawet -W
przełącznika rsync, ale anulowałem go po dziesięciu minutach. rsync to 3.0.3 działający na Lennym. Aby móc przerwać proces kopiowania w dowolnym momencie i wznowić, poprowadź mnie do rsync, ale teraz myślę, że poważnie muszę ponownie rozważyć to wymaganie.
Jak możliwa jest tak duża różnica?
Aktualizacja / rozwiązana:
Dzięki rschuler udało mi się rozwiązać problem: użyj demona rsync zamiast montowania smb ze względów wydajnościowych. Wspomniana DeltaCopy działa, ale trzeba uważać na kilka rzeczy
- to fajne opakowanie GUI, ale jeśli coś idzie nie tak, dobrze jest wiedzieć, jak to naprawić. Wygląda na to, że wprowadziłem moje poświadczenia użytkownika, pod którymi do uruchomienia usługi rsync, po raz pierwszy źle, ale GUI nie pozwoliło mi ustawić nowego. Doszedłem do wniosku, że działa jako usługa i byłem w stanie ustawić tam odpowiednie poświadczenia
- Konieczne było ręczne dodanie portu do zapory, aby umożliwić połączenia
- Osobisty gust: upewnij się, że udziały są chronione hasłem lub jeśli nie, może upewnij się, że usługa nie uruchamia się automatycznie w systemie Windows; w razie czego
- Zawijany plik binarny rsync nie jest rodzimym portem Windows, ale opiera się na cygwin. Jednak zawarta biblioteka DLL cygwin nie obsługuje poprawnie UTF8 i zniekształconych znaków innych niż ascii. Uzyskaj stałą bibliotekę DLL ze strony http://www.okisoft.co.jp/esc/utf8-cygwin/ .
Następnie skala transferu wzrosła z 2 MB / s do ~ 8 MB / s; absolutnie fantastyczny!
-W
przełącznik powinien to zignorować