scp user@aws-ec2:~/file file
rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file
scp
daje mi tylko 200 K / s, ale rsync
daje 1,9 M / s
Testowałem kilka razy, wszystkie te same wyniki.
rsync
używa wielu wątków?
Oba protokoły są oparte na SSH. A sam SSH ma pewne koszty ogólne :
SCP to naprawdę naiwny protokół z naprawdę naiwnym algorytmem do przesyłania kilku małych plików. Ma dużo synchronizacji (RTT - Round Trip Time) i małe bufory (w zasadzie 2048 B - źródło ).
Rsync został stworzony z myślą o wydajności, dlatego daje znacznie lepsze wyniki i ma więcej funkcji.
Przyspieszenie 10x jest specyficzne dla twojego przypadku. Jeśli przesyłasz pliki na całym świecie za pomocą linii o dużych opóźnieniach, uzyskasz znacznie gorszą wydajność w scp
przypadku, ale w sieci lokalnej wydajność może być prawie taka sama.
I nie, kompresja ( -C
for scp
) nie pomoże. Największe problemy to opóźnienie i rozmiar bufora.
SCP w zasadzie wykonuje zwykłą starą kopię ze źródła do miejsca docelowego lokalnie lub w sieci za pomocą SSH, ale możesz użyć -C
przełącznika, aby włączyć kompresję SSH, aby potencjalnie przyspieszyć kopiowanie danych w sieci.
RSYNC przesyła tylko różnice między dwoma zestawami plików przez połączenie sieciowe, wykorzystując wydajny algorytm wyszukiwania sum kontrolnych, który automatycznie optymalizuje połączenie sieciowe podczas przesyłania danych.
RSYNC
OPIS
rsync is a program that behaves in much the same way that rcp does, but has many more options and uses the rsync remote-update protocol to greatly speed up file transfers when the destination file is being updated. The rsync remote-update protocol allows rsync to transfer just the dif- ferences between two sets of files across the network connection, using an efficient checksum-search algorithm described in the technical report that accompanies this package.
SCP
OPIS
scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same secu‐ rity as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication. File names may contain a user and host specification to indicate that the file is to be copied to/from that host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treat‐ ing file names containing ‘:’ as host specifiers. Copies between two remote hosts are also permitted.
-C
przełącznika nie robi t kompresować dane podczas transmisji w dół rury?rsync
wierszu poleceń nie podano ani kompresji, ani sumy kontrolnej . Oczywiście algorytm delta w pliku jest zawsze aktywny. To chyba tylko doscp
bani.