Jak FTP, FTPS, SFTP i SCP porównują pod względem szybkości transferu i jak mogę je porównać poprzez testy?
Jak FTP, FTPS, SFTP i SCP porównują pod względem szybkości transferu i jak mogę je porównać poprzez testy?
Odpowiedzi:
Jeśli masz szybką sieć rozległą, znajdziesz ją sftp
i scp
masz 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 ftp
jest to bardzo niepewne; wysyła hasła w postaci zwykłego tekstu.
ftps
Myś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.
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.
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.
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