Jestem tym trochę zaskoczony? Dlaczego rsync jest szybszy niż scp? Czy rsync nie używa scp poniżej, czy robi coś bardziej wydajnego? Czy jest jakiś sposób na przyspieszenie SCP?
Rsync będzie oczywiście szybszy niż scp, jeśli cel zawiera już niektóre pliki źródłowe, ponieważ rsync kopiuje tylko różnice. Ale podejrzewam, że twoje pytanie dotyczyło robienia prostej kopii na pusty cel.
Przekazałeś -zopcję rsync; włącza się kompresja. Jeśli przepustowość sieci jest czynnikiem ograniczającym (często jest), kompresja może poprawić szybkość transferu o zauważalną wielkość.
Możesz także włączyć kompresję scp, przekazując tę -Copcję. Powinno to dotyczyć nawet rsync. Kompresja nie jest domyślnie włączona w ssh, ponieważ oszczędza przepustowość, ale dodaje opóźnienie i obciążenie procesora; opóźnienie jest złe dla sesji interaktywnych (nie dotyczy scp), a obciążenie procesora jest bezużyteczne, jeśli kopiowane pliki są już skompresowane.
Starsze wersje rsyncużywały rsh zamiast ssh jako domyślnej warstwy transportowej, więc uczciwe porównanie byłoby pomiędzy rsynci rcp. Ale ssh jest domyślną wersją od wersji 2.6.0 wydanej 01.01.2004.
Przy identycznych ustawieniach kompresji oczekiwałbym rsynci scpmiałby zasadniczo taką samą prędkość. Udostępnij wyniki testów porównawczych, jeśli znajdziesz inne.
Fajnie, użycie -C sprawiło, że moja prędkość transferu wzrosła z 5 MB do 20 MB
3ɾɾǝʞ 03
Właśnie przetestowałem to dla katalogu zawierającego 16 plików o wielkości około 3-9 MB i rsync -zwciąż jest DROGA szybszy niż scpprzy jakiejkolwiek kompresji sugerowanej w tych odpowiedziach. Jest także szybszy niż ręczne kompresowanie i archiwizowanie do jednego pliku i scp„odczytywanie” tego pliku ( scpz kompresją nawet wolniejszą). Tak więc pytanie PO pozostaje bez odpowiedzi: wth jest scptak wolny w porównaniu do rsync?
te opcje przyspieszają scp 5 razy w mojej konfiguracji w porównaniu do zwykłego komputera scp: plik.
Aktualizacja, 2017 r
W rzeczywistości scp działa powoli z powodu złego zarządzania szczegółami TCP, takimi jak MTU i rozmiar bufora. Na szczęście zostało to naprawione przez projekt HPN SSH . O ile mi wiadomo, możesz użyć HPN SSH jako transportu rsync.
Wielkie dzieki!! Zawsze jednak zawsze rób to scp -p(zachowaj datę / czas) jako domyślną i prawdopodobnie -r(rekurencyjną) tak scp -pr -C .... (Musiałem tylko wyszorować i zrestartować zadanie scp 40 Gb za pomocą tych, ponieważ zapomniałem -p)
smci 24.10.17
Dodałem -p do polecenia, dzięki za podpowiedź.
Peter K
4
Kiedyś było na odwrót, ale sądzę, że prędkość rsync znacznie się poprawiła w ostatnich kilku wersjach. Zależy to również od liczby kopiowanych plików. Jeśli to dużo, rsync zwykle będzie szybszy, ponieważ scp spawnuje nowy proces dla każdego kopiowanego pliku. Możesz spróbować osłabić użycie szyfru scp, aby sprawdzić, czy przyspieszy. Pamiętam, że szyfr w arcfour był najszybszy.
Scp nie odradza nowego procesu dla każdego kopiowanego pliku. Masz jeden proces po stronie wysyłającej i jeden po stronie odbierającej, podobnie jak w przypadku rsync.
Kenster
3
W przypadku dużej liczby małych plików rysnc jest znacznie szybszy niż scp. Mówią, że to dlatego, że ma mniejszy narzut. W przypadku jednego dużego pliku oczekiwałbym podobnych wyników.
Odpowiedzi:
Rsync będzie oczywiście szybszy niż scp, jeśli cel zawiera już niektóre pliki źródłowe, ponieważ rsync kopiuje tylko różnice. Ale podejrzewam, że twoje pytanie dotyczyło robienia prostej kopii na pusty cel.
Przekazałeś
-z
opcjęrsync
; włącza się kompresja. Jeśli przepustowość sieci jest czynnikiem ograniczającym (często jest), kompresja może poprawić szybkość transferu o zauważalną wielkość.Możesz także włączyć kompresję
scp
, przekazując tę-C
opcję. Powinno to dotyczyć nawet rsync. Kompresja nie jest domyślnie włączona w ssh, ponieważ oszczędza przepustowość, ale dodaje opóźnienie i obciążenie procesora; opóźnienie jest złe dla sesji interaktywnych (nie dotyczyscp
), a obciążenie procesora jest bezużyteczne, jeśli kopiowane pliki są już skompresowane.Starsze wersje
rsync
używały rsh zamiast ssh jako domyślnej warstwy transportowej, więc uczciwe porównanie byłoby pomiędzyrsync
ircp
. Ale ssh jest domyślną wersją od wersji 2.6.0 wydanej 01.01.2004.Przy identycznych ustawieniach kompresji oczekiwałbym
rsync
iscp
miałby zasadniczo taką samą prędkość. Udostępnij wyniki testów porównawczych, jeśli znajdziesz inne.źródło
rsync -z
wciąż jest DROGA szybszy niżscp
przy jakiejkolwiek kompresji sugerowanej w tych odpowiedziach. Jest także szybszy niż ręczne kompresowanie i archiwizowanie do jednego pliku iscp
„odczytywanie” tego pliku (scp
z kompresją nawet wolniejszą). Tak więc pytanie PO pozostaje bez odpowiedzi: wth jestscp
tak wolny w porównaniu dorsync
?spróbuj scp w szybki sposób
te opcje przyspieszają scp 5 razy w mojej konfiguracji w porównaniu do zwykłego komputera scp: plik.
Aktualizacja, 2017 r
W rzeczywistości scp działa powoli z powodu złego zarządzania szczegółami TCP, takimi jak MTU i rozmiar bufora. Na szczęście zostało to naprawione przez projekt HPN SSH . O ile mi wiadomo, możesz użyć HPN SSH jako transportu rsync.
źródło
scp -p
(zachowaj datę / czas) jako domyślną i prawdopodobnie-r
(rekurencyjną) takscp -pr -C ...
. (Musiałem tylko wyszorować i zrestartować zadanie scp 40 Gb za pomocą tych, ponieważ zapomniałem-p
)Kiedyś było na odwrót, ale sądzę, że prędkość rsync znacznie się poprawiła w ostatnich kilku wersjach. Zależy to również od liczby kopiowanych plików. Jeśli to dużo, rsync zwykle będzie szybszy, ponieważ scp spawnuje nowy proces dla każdego kopiowanego pliku. Możesz spróbować osłabić użycie szyfru scp, aby sprawdzić, czy przyspieszy. Pamiętam, że szyfr w arcfour był najszybszy.
źródło
W przypadku dużej liczby małych plików rysnc jest znacznie szybszy niż scp. Mówią, że to dlatego, że ma mniejszy narzut. W przypadku jednego dużego pliku oczekiwałbym podobnych wyników.
źródło
Do moich testów rsync jest szybszy niż scp , możesz użyć iotop do przetestowania ich podczas przesyłania tego samego pliku:
Może otrzymasz inny wynik, ale możesz sam je przetestować. BTW, podczas korzystania z scp , nie zapominaj, aby wybrać swój szyfr za pomocą:
Chociaż
arcfour
może przyspieszyć szyfrowanie.źródło
Czy ponownie kopiujesz pliki na istniejące? Jeśli tak, istotna będzie zdolność rsync do blokowania porównania i kopiowania tylko różnic.
źródło