FTP / FTPS / SFTP / SCP - Porównanie prędkości [zamknięte]


21

Jak FTP, FTPS, SFTP i SCP porównują pod względem szybkości transferu i jak mogę je porównać poprzez testy?


3
Szybkość nie jest istotną różnicą między FTP a innymi.
— ceejayoz

2
Nie jestem pewien, dlaczego zostało to odrzucone. Jest to z pewnością bardzo istotne dla mojej pracy jako profesjonalnego administratora - dlaczego nie przesyłano plików w pobliżu przepustowości całej ścieżki połączenia?
— Dan Pritts,

Różnicę prędkości SFTP można zrekompensować za pomocą wielu połączeń TCP sterowanych przez LFTP i podsystemu kopii lustrzanych za pomocą SFTP bez utraty bezpieczeństwa. Może nawet używać wielu wątków w jednym dużym pliku.
— Aaron

Odpowiedzi:


29

Jeśli masz szybką sieć rozległą, znajdziesz ją sftpi scpmasz mniej więcej tę samą prędkość, co jest wolne. Obaj cierpią z powodu problemów z wydajnością w podstawowym openssh. W przypadku nowoczesnego sprzętu nie jest to spowodowane narzutem szyfrowania, ale raczej problemami z implementacją openssh - implementuje własny wewnętrzny mechanizm okienkowania, który psuje się przy szybkich połączeniach.

Problemy te stają się bardziej widoczne na połączeniach na duże odległości (większe opóźnienia), ale spowolnienie występowało nawet w sieciach LAN.

Są one dobrze udokumentowane i dostępne są łatki do rozwiązania problemu. Łatowanie obu końców połączenia może pomóc; idealnie załatałbyś oba końce. Aby uzyskać więcej informacji i poprawki, zobacz High Performance SSH w Pittsburgh Supercomputer Center.

BTW, narzut szyfrowania może również stać się problemem, gdy problem okienkowania zostanie rozwiązany. Łatki również mają poprawki.

Tymczasem okaże się, że ftpjest to bardzo niepewne; wysyła hasła w postaci zwykłego tekstu.

ftpsMyślę, że otacza protokół FTP w SSL. jest prawdopodobnie szybszy niż niezałatany SFTP / SCP.

Ostatnia uwaga: z mojego doświadczenia wynika, że ​​klient WinSCP jest (przynajmniej czasami) boleśnie powolny. Nie wiem dlaczego, ale na podstawie ich FAQ nie jestem jedyną osobą, która miała ten problem. Więc jeśli scp'ujesz z Windows i wydaje się to powolne, wypróbuj innego klienta. Nawet z niepoprawnym serwerem openssh możesz zrobić znacznie, znacznie lepiej z innym klientem. Niestety nie jestem pewien, którzy są dobrymi klientami.


1
Wreszcie. Ktoś, kto wie o czym mówią. Tak, FTPS jest w zasadzie FTP w SSL. SFTP / SCP zawsze będzie wolniejszy niż podczas korzystania z FTP
— Jason

Czy masz pojęcie, dlaczego uzyskuję 300 kb / s przy użyciu scp, a około 10 Mb / s (prawie maksymalna prędkość) przy użyciu sftp? To nie wydaje się być „o tej samej prędkości”. To ponad 100 Mb / s Ethernet.
— graywolf

Prawdopodobnie twój scp jest wadliwą implementacją (np. WinSCP), ale twój sftp nie. Nawet jeśli są w tym samym opakowaniu GUI, mogą się różnić od wewnątrz.
— Dan Pritts,

Dan, masz pojęcie, dlaczego ta łatka SSH nie jest stosowana do głównego OpenSSH? Oczywiście jest to 1 ~ 2 rzędy wielkości lepsze (> 10x nawet w sieci LAN 100 Mb / s), więc dlaczego nie jest to nowy standard OpenSSH? Jak możemy to zrobić?
— Gabriel Staples

Rozumiem, że PSC przesłało łatki ludziom openbsd (którzy piszą openssh). Nie byli zainteresowani. Słyszałem niejasne stwierdzenia, że ​​żadna z osób openbsd nie ma połączeń o dużej przepustowości i nie zauważyły ​​żadnych problemów i / lub koniecznie wierzą, że był to prawdziwy problem. To było kilka lat temu i jest to pogłoska, więc nie mogę ręczyć za jego dokładność.
— Dan Pritts,

4

Zasadniczo wszystkie protokoły będą działać mniej więcej tak samo. Bardziej prawdopodobne jest ograniczenie prędkości sieci lub dysku niż protokołu.

Starsze wersje OpenSSH (SFTP / SCP) używały stałego rozmiaru okna, który ograniczy prędkość w sieciach o dużych opóźnieniach (powiedzmy transatlantyckich). Istnieje zestaw łatek do rozwiązania tego problemu o nazwie HPN (High performance network) i jest on zawarty w większości nowoczesnych instalacji OpenSSH.

Jeśli masz do czynienia z sytuacją taką jak gigabitowe lub szybsze łącze LAN i wolniejszy procesor, wówczas SFTP / SCP może wpaść w wąskie gardło. Będziesz w stanie stwierdzić, ponieważ proces ssh / scp / sftp zużywa 100% procesora na hostingu wysyłającym lub odbierającym. Jeśli używasz nowszej wersji OpenSSH (6.4+), możesz włączyć wątkową wersję szyfru AES, która będzie mogła używać więcej niż 1 rdzenia do obsługi szyfrowania i będzie mniej prawdopodobne, że będzie ograniczona przez procesor niż dysk lub przepustowość sieci.

Jeśli kontrolujesz zarówno stronę wysyłającą, jak i odbierającą, OpenSSH 6+ ma również opcjonalny tryb „BRAK UŻYTKOWNIKA”. Używa zwykłego szyfrowania / kluczy itp. Do zalogowania się na zdalnym komputerze, ale następnie przechodzi do niezaszyfrowanego połączenia w celu skopiowania pliku. Spowoduje to usunięcie narzutu procesora. W NONECIPHER wbudowane są zabezpieczenia, które uniemożliwiają uzyskanie powłoki, która nie jest zaszyfrowana.

Ostatecznie protokół nie powinien ograniczać szybkości, chociaż starsze wersje ssh mają problemy z łączami o dużych opóźnieniach.


Warto wiedzieć, że domyślnymi ustawieniami są teraz zainstalowane łatki, chociaż wygląda na to, że redhat wyraźnie postanowił tego nie robić ( access.redhat.com/site/solutions/53215 ). Zauważ też, że opóźnienie transatlantyckie nie jest aż tak duże. Aktualny ping rtts: umich -> stanford (California): 89ms. umich -> cambridge (uk): 134ms. Ponadto, czy połączenie opóźnień i przepustowości nie powoduje problemu? więc niższe opóźnienia, ale łącza o większej przepustowości mogą nadal mieć problemy.
— Dan Pritts,

3

Opierając się na narzutach szyfrowania, powiedziałbym, że zwykły FTP prawdopodobnie ma nieco lepszą wydajność niż inne protokoły, ale prawdopodobnie jest nieistotny. Użyłbym protokołu, który zapewnia bezpieczeństwo, którego potrzebujesz, a potem martwię się o przepustowość.

Biorąc to pod uwagę, będziesz musiał przeprowadzić test, aby znaleźć rzeczywiste liczby. Wszystko powyżej to tylko moja opinia. Jeśli testujesz wydajność lokalnie, skonfiguruj serwer w sieci. Jeśli końcowe użycie będzie przez Internet, przetestuj z zewnętrznego hosta.


Narzut wydajności jest rzędu wielkości, a nie niewielki. Bliżej 10x niż 2x wolniej. Sam byłem zaskoczony.
— Gomibushi,

2

Jak zawsze, Google przechowuje odpowiedzi,
FTP v / s SFTP v / s FTPS
Co oznacza, że ​​FTP> FTPS> SFTP
FTP również wydaje się być szybszy niż SCP w czyimś teście ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ), ale polecam wypróbowanie go samemu.
Więc po prostu skonfiguruj SCP i FTP na dowolnym losowym urządzeniu w sieci, a następnie uruchom typowy transfer plików i sprawdź, jak długo zajmuje to jedno i drugie


dlaczego mówisz, że FTP to protokół internetowy i SCP dla sieci LAN?
— Dan Pritts,

5
Ach, widzę, że masz to z powiązanego artykułu eHow. eHow jest źle. Oba protokoły zostały zaprojektowane do korzystania z Internetu. Artykuł zawiera kilka innych błędów; autor wyraźnie nie wie o czym mówi.
— Dan Pritts,

Teraz, gdy o tym myślę, masz rację, prawdopodobnie powinienem był to sprawdzić.

1
Strony takie jak eHow nigdy nie wiedzą o czym mówią.
— Jason
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.