FTP / FTPS / SFTP / SCP - Confronto velocità [chiuso]


21

Come si confrontano FTP, FTPS, SFTP e SCP in termini di velocità di trasferimento e come posso confrontarli attraverso i test?


3
La velocità non è la differenza importante tra FTP e gli altri.
Ceejayoz,

2
Non sono sicuro del motivo per cui questo è stato votato fuori tema. È sicuramente molto rilevante per il mio lavoro di amministratore di sistema professionale: perché i trasferimenti di file non venivano usati in alcun modo vicino alla larghezza di banda dell'intero percorso di connessione?
Dan Pritts,

È possibile compensare la differenza di velocità di SFTP utilizzando più connessioni TCP guidate da LFTP e dal sottosistema mirror utilizzando SFTP senza sacrificare la sicurezza. Può persino usare più thread per un singolo file di grandi dimensioni.
Aaron,

Risposte:


29

Se disponi di una rete WAN veloce, la troverai sftpe avrai scpla stessa velocità, che è lenta. Entrambi soffrono di problemi di prestazioni nell'opensh sottostante. Con l'hardware moderno, ciò non è dovuto al sovraccarico di crittografia, ma piuttosto a problemi con l'implementazione di openssh: implementa il proprio meccanismo di finestre interne che si interrompe su connessioni veloci.

Questi problemi diventano più evidenti sulle connessioni a lunga distanza (latenza più elevata), ma ho riscontrato lentezza anche sulle LAN.

Questi sono ben documentati e sono disponibili patch per risolvere il problema. L'applicazione di patch a entrambe le estremità della connessione può essere d'aiuto; idealmente dovresti patchare entrambe le estremità. Per ulteriori informazioni e patch, vedere SSH ad alte prestazioni presso il Pittsburgh Supercomputer Center.

A proposito, anche l'overhead della crittografia può diventare un problema, una volta risolto il problema della finestra. Le patch hanno anche delle correzioni.

Nel frattempo, scoprirai che ftpè terribilmente insicuro; invia password in chiaro.

ftpsPenso che avvolga il protocollo ftp in SSL. è probabilmente più veloce di SFTP / SCP senza patch.

Un'ultima nota: nella mia esperienza, il client WinSCP è (almeno qualche volta) dolorosamente lento. Non so perché, ma in base alle loro FAQ non sono l'unica persona che ha avuto questo problema. Quindi, se stai eseguendo scp da Windows, e sembra lento, prova un client diverso. Anche con un server openssh senza patch, puoi fare molto, molto meglio con un client diverso. Purtroppo non sono sicuro di quali siano i buoni clienti.


1
Finalmente. Qualcuno che sa di cosa stanno parlando. Sì, FTPS è sostanzialmente FTP nell'SSL. SFTP / SCP sarà sempre più lento di quando si utilizza FTP
Jason il

Hai idea del perché ottengo 300 kb / s con scp mentre mi aggiro a 10 Mb / s (velocità quasi massima) con sftp? Non sembra "avere la stessa velocità". Questo è oltre 100 Mbps Ethernet.
Lupo grigio,

La migliore ipotesi, il tuo scp è un'implementazione difettosa (ad esempio WinSCP), ma il tuo sftp non lo è. Anche se si trovano nello stesso wrapper della GUI, potrebbero essere diversi all'interno.
Dan Pritts,

Dan, hai idea del perché questa patch SSH non sia applicata all'OpenSSH principale? Chiaramente è 1 ~ 2 ordini di grandezza migliori (> 10x anche su una LAN da 100 Mbps), quindi perché non è questo il nuovo standard OpenSSH? Come possiamo farlo così?
Gabriel Staples,

La mia comprensione è che PSC ha inviato le patch alla gente di openbsd (che scrive openssh). Non erano interessati. Ho sentito vaghe dichiarazioni che nessuna delle persone openbsd aveva connessioni ad alta larghezza di banda e non hanno notato alcun problema, e / o credono necessariamente che ci sia stato un vero problema. Questo è successo diversi anni fa ed è sentito dire, quindi non posso garantire la sua precisione.
Dan Pritts,

4

In generale tutti i protocolli funzioneranno allo stesso modo. È più probabile che tu sia limitato dalla velocità della tua rete o del tuo disco che dal protocollo.

Le versioni precedenti di OpenSSH (SFTP / SCP) utilizzavano una dimensione della finestra fissa che limiterà la velocità su reti ad alta latenza (diciamo transatlantico). Esiste un set di patch per risolvere questo problema chiamato HPN (rete ad alte prestazioni) ed è incluso nella maggior parte delle installazioni moderne di OpenSSH.

Se ti trovi in ​​una situazione come un gigabit o un collegamento LAN più veloce e una CPU più lenta, SFTP / SCP potrebbe incorrere in un collo di bottiglia. Sarai in grado di dirlo perché il processo ssh / scp / sftp utilizzerà il 100% della CPU sull'hosting di invio o ricezione. Se si utilizza una versione più recente di OpenSSH (6.4+), è possibile abilitare una versione thread della crittografia AES che sarà in grado di utilizzare più di 1 core per gestire la crittografia e avrà meno probabilità di essere limitata dalla CPU anziché dal disco o larghezza di banda della rete.

Se controlli sia il lato di invio che quello di ricezione, OpenSSH 6+ ha anche una modalità 'NONECIPHER' opzionale. Questo utilizza la normale crittografia / chiavi ecc. Per accedere al computer remoto, ma poi passa a una connessione non crittografata per la copia dei file effettiva. Questo rimuoverà quel sovraccarico della CPU. Esistono salvaguardie integrate in NONECIPHER che impediscono di ottenere una shell non crittografata.

Alla fine il protocollo non dovrebbe essere la limitazione della velocità, sebbene le versioni precedenti di ssh abbiano problemi con i collegamenti ad alta latenza.


Buono a sapersi che le impostazioni predefinite ora hanno le patch installate, anche se sembra che redhat abbia deciso esplicitamente di non farlo ( access.redhat.com/site/solutions/53215 ). Inoltre, tieni presente che la latenza transatlantica non è poi così tanto. Ping attuale: umich -> stanford (california): 89ms. umich -> cambridge (regno unito): 134ms. Inoltre, non è la combinazione di latenza e larghezza di banda che causa il problema? una latenza così bassa ma collegamenti a larghezza di banda più elevata possono ancora avere problemi.
Dan Pritts,

3

In base al sovraccarico della crittografia, direi che l'FTP normale ha probabilmente prestazioni leggermente migliori rispetto agli altri protocolli, ma è probabilmente trascurabile. Utilizzerei il protocollo che fornisce prima la sicurezza di cui hai bisogno, quindi mi preoccupo della velocità effettiva.

Detto questo, dovrai impostare un test per trovare i numeri reali. Tutto sopra è solo la mia opinione. Se stai testando le prestazioni localmente, configura un server sulla tua rete. Se l'uso finale sarà su Internet, testare da un host esterno.


Le prestazioni generali sono ordini di grandezza, non lievi. Più vicino a 10 volte rispetto a 2 volte più lento. Sono stato sorpreso me stesso.
Gomibushi,

2

Come sempre, Google ha le risposte,
FTP v / s SFTP v / s FTPS
Che dice che FTP> FTPS> SFTP
FTP sembra essere più veloce di SCP nel test di qualcun altro ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ) ma ti consiglio di provarlo tu stesso per vederlo.
Quindi basta impostare SCP e FTP su qualsiasi casella casuale sulla rete, quindi eseguire un tipico trasferimento di file e vedere quanto tempo impiega entrambi


perché dici che FTP è un protocollo Internet e SCP per la LAN?
Dan Pritts,

5
Ah, vedo che l'hai preso dall'articolo eHow collegato. eHow è sbagliato. Entrambi i protocolli sono stati progettati per l'utilizzo di Internet. L'articolo contiene molti altri errori; lo scrittore chiaramente non sa di cosa sta parlando.
Dan Pritts,

Ora che ci penso, hai ragione, probabilmente avrei dovuto controllare.

1
Siti come eHow non sanno mai di cosa stanno parlando.
Jason,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.