FTP / FTPS / SFTP / SCP - Perbandingan kecepatan [ditutup]

21

Bagaimana FTP, FTPS, SFTP, dan SCP membandingkan dalam hal kecepatan transfer dan bagaimana saya bisa membandingkannya melalui pengujian?

Graham
sumber
3
Kecepatan bukanlah perbedaan penting antara FTP dan yang lainnya.
ceejayoz
2
Saya tidak yakin mengapa ini dipilih di luar topik. Hal ini tentu sangat relevan dengan pekerjaan saya sebagai sysadmin profesional - mengapa transfer file tidak menggunakan mendekati bandwidth seluruh jalur koneksi?
Dan Pritts
Anda dapat mengkompensasi perbedaan kecepatan SFTP dengan menggunakan beberapa koneksi TCP yang didorong oleh LFTP dan subsistem mirror menggunakan SFTP tanpa mengorbankan keamanan. Ia bahkan dapat menggunakan banyak utas untuk satu file besar tunggal.
Aaron

Jawaban:

29

Jika Anda memiliki jaringan area luas cepat Anda akan menemukan itu sftpdan scptentang kecepatan yang sama, yang lambat. Mereka berdua menderita masalah kinerja di openssh yang mendasarinya. Dengan perangkat keras modern, ini bukan karena overhead enkripsi, melainkan karena masalah dengan implementasi openssh - ini mengimplementasikan mekanisme windowing internal sendiri yang rusak pada koneksi cepat.

Masalah-masalah ini menjadi lebih jelas pada koneksi jarak jauh (latensi lebih tinggi), tetapi saya telah mengalami kelambatan bahkan pada LAN.

Ini didokumentasikan dengan baik, dan tambalan tersedia untuk memperbaiki masalah. Menambal salah satu ujung koneksi dapat membantu; idealnya Anda akan menambal kedua ujungnya. Untuk info lebih lanjut dan tambalan, lihat High Performance SSH di Pittsburgh Supercomputer Center.

BTW, overhead enkripsi juga bisa menjadi masalah, setelah masalah windowing diselesaikan. Tambalan memiliki perbaikan untuk itu juga.

Sementara itu, Anda akan merasa ftpsangat tidak aman; itu mengirim kata sandi dalam teks biasa.

ftpsSaya pikir membungkus protokol ftp di SSL. mungkin lebih cepat dari SFTP / SCP yang belum ditambal.

Satu catatan terakhir: dalam pengalaman saya, klien WinSCP (setidaknya kadang-kadang) sangat lambat. Saya tidak tahu mengapa, tetapi berdasarkan FAQ mereka, saya bukan satu-satunya orang yang memiliki masalah ini. Jadi jika Anda scp'ing dari Windows, dan sepertinya lambat, coba klien lain. Bahkan dengan server openssh yang belum ditambal, Anda dapat melakukan banyak hal, jauh lebih baik dengan klien yang berbeda. Sayangnya, saya tidak yakin klien mana yang baik.

Dan Pritts
sumber
1
Akhirnya. Seseorang yang tahu apa yang mereka bicarakan. Ya, FTPS pada dasarnya adalah FTP di SSL. SFTP / SCP akan selalu lebih lambat saat menggunakan FTP
Jason
Apakah Anda tahu mengapa saya mendapatkan 300 kb / s dengan scp sementara mendapatkan sekitar 10 Mb / s (kecepatan hampir maks) dengan sftp? Tampaknya tidak "tentang kecepatan yang sama". Ini lebih dari 100Mbps ethernet.
graywolf
Tebakan terbaik, scp Anda adalah implementasi yang cacat (mis. WinSCP), tetapi sftp Anda tidak. Bahkan jika mereka berada di bungkus GUI yang sama, mereka mungkin berbeda di dalam.
Dan Pritts
Dan, tahu mengapa Patch SSH ini tidak diterapkan pada OpenSSH utama? Jelas itu 1 ~ 2 pesanan lebih besar (> 10x bahkan pada LAN 100Mbps) jadi mengapa bukan ini standar OpenSSH baru? Bagaimana kita bisa melakukannya?
Gabriel Staples
Pemahaman saya adalah bahwa PSC mengirimkan tambalan kepada orang-orang openbsd (yang menulis openssh). Mereka tidak tertarik. Saya mendengar pernyataan tidak jelas bahwa tidak ada orang openbsd yang memiliki koneksi bandwidth tinggi dan mereka tidak melihat masalah, dan / atau tentu saja percaya ada masalah nyata. Ini beberapa tahun yang lalu, dan hanya desas-desus, jadi saya tidak bisa menjamin keakuratannya.
Dan Pritts
4

Secara umum semua protokol akan melakukan hal yang sama. Anda lebih cenderung dibatasi oleh kecepatan jaringan atau disk Anda daripada oleh protokol.

Versi OpenSSH yang lebih lama (SFTP / SCP) menggunakan ukuran jendela tetap yang akan membatasi kecepatan jaringan latensi tinggi (katakanlah trans-atlantik). Ada tambalan yang diatur untuk memperbaiki masalah ini yang disebut HPN (Jaringan berkinerja tinggi) dan itu termasuk dalam sebagian besar pemasangan OpenSSH modern.

Jika Anda menjalankan situasi seperti gigabit atau tautan LAN yang lebih cepat dan CPU yang lebih lambat maka SFTP / SCP mungkin mengalami hambatan. Anda dapat mengetahui karena proses ssh / scp / sftp akan menggunakan 100% cpu pada pengiriman atau penerimaan hosting. Jika Anda menggunakan versi OpenSSH (6.4+) yang lebih baru, Anda dapat mengaktifkan versi ulir dari cipher AES yang akan dapat menggunakan lebih dari 1 inti untuk menangani enkripsi dan kemungkinan kecil dibatasi oleh CPU daripada disk atau bandwidth jaringan.

Jika Anda mengontrol sisi pengirim dan penerima, OpenSSH 6+ juga memiliki mode 'NONECIPHER' opsional. Ini menggunakan enkripsi / kunci dll untuk masuk ke mesin remote, tetapi kemudian jatuh ke koneksi yang tidak dienkripsi untuk menyalin file yang sebenarnya. Ini akan menghapus overhead CPU itu. Ada perlindungan yang dibangun untuk NONECIPHER selain mencegah Anda mendapatkan shell yang tidak dienkripsi.

Pada akhirnya protokol tidak boleh menjadi batasan pada kecepatan, meskipun versi ssh yang lebih lama memiliki masalah dengan tautan latensi tinggi.

Allan Jude
sumber
Senang mengetahui bahwa default sekarang memiliki patch yang diinstal, meskipun sepertinya redhat secara eksplisit memutuskan untuk tidak melakukannya ( access.redhat.com/site/solutions/53215 ). Juga, Perhatikan bahwa latensi trans-atlantik tidak terlalu banyak. Rujukan ping saat ini: umich -> stanford (california): 89ms. umich -> cambridge (uk): 134ms. Juga, bukankah kombinasi latensi dan bandwidth yang menyebabkan masalah? jadi latensi lebih rendah tetapi tautan bandwidth lebih tinggi masih dapat memiliki masalah.
Dan Pritts
3

Berdasarkan overhead enkripsi, saya akan mengatakan bahwa FTP biasa mungkin memiliki kinerja yang sedikit lebih baik daripada protokol lain, tetapi mungkin diabaikan. Saya akan menggunakan protokol yang menyediakan keamanan yang Anda butuhkan terlebih dahulu, kemudian khawatir tentang throughput.

Yang sedang berkata, Anda harus mengatur tes untuk menemukan bilangan real. Semuanya di atas hanyalah pendapat saya. Jika Anda menguji kinerja secara lokal, atur server di jaringan Anda. Jika penggunaan akhir akan melalui internet, uji dari host eksternal.

Jim G.
sumber
Overhead kinerja adalah urutan besarnya, tidak sedikit. Lebih dekat ke 10x dari 2x lebih lambat. Saya sendiri terkejut.
Gomibushi
2

Seperti biasa, Google memegang jawabannya,
FTP v / s SFTP v / s FTPS
Yang mengatakan FTP> FTPS> SFTP
FTP juga tampaknya lebih cepat daripada SCP dalam pengujian orang lain ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ) tetapi saya akan merekomendasikan untuk mencobanya sendiri.
Jadi cukup atur SCP dan FTP pada sembarang kotak di jaringan Anda, lalu jalankan transfer file biasa dan lihat berapa lama waktu yang dibutuhkan untuk keduanya

Komunitas
sumber
mengapa Anda mengatakan FTP adalah protokol internet dan SCP untuk LAN?
Dan Pritts
5
Ah, saya melihat Anda mendapatkannya dari artikel eHow yang tertaut. eHow salah Kedua protokol dirancang untuk penggunaan Internet. Artikel ini memiliki beberapa kesalahan lain; penulis jelas tidak tahu apa yang dia bicarakan.
Dan Pritts
Sekarang saya berpikir tentang hal itu, Anda benar, saya mungkin harus memeriksa.
1
Situs seperti eHow tidak pernah tahu apa yang mereka bicarakan.
Jason