
¿Cómo se comparan FTP, FTPS, SFTP y SCP en términos de tasa de transferencia y cómo puedo compararlos mediante pruebas?
Respuesta1
Si tiene una red de área amplia rápida, encontrará que sftp
tiene scp
aproximadamente la misma velocidad, que es lenta. Ambos sufren problemas de rendimiento en el openssh subyacente. Con el hardware moderno, esto no se debe a la sobrecarga de cifrado, sino a problemas con la implementación de openssh: implementa su propio mecanismo de ventanas interno que se estropea en conexiones rápidas.
Estos problemas se vuelven más obvios en conexiones de larga distancia (mayor latencia), pero he experimentado lentitud incluso en redes LAN.
Están bien documentados y hay parches disponibles para solucionar el problema. Parchear cualquiera de los extremos de la conexión puede resultar útil; Lo ideal sería parchear ambos extremos. Para obtener más información y los parches, consulteSSH de alto rendimientoen el Centro de Supercomputación de Pittsburgh.
Por cierto, la sobrecarga de cifrado también puede convertirse en un problema una vez que se resuelve el problema de las ventanas. Los parches también tienen soluciones para eso.
Mientras tanto, descubrirás que ftp
es lamentablemente inseguro; envía contraseñas en texto sin formato.
ftps
Creo que envuelve el protocolo ftp en SSL. probablemente sea más rápido que SFTP/SCP sin parches.
Una nota final: en mi experiencia, el cliente WinSCP es (al menos a veces) tremendamente lento. No sé por qué, pero según sus preguntas frecuentes, no soy la única persona que ha tenido este problema. Entonces, si estás explorando desde Windows y parece lento, prueba con un cliente diferente. Incluso con un servidor openssh sin parches, puedes hacerlo mucho, mucho mejor con un cliente diferente. Desafortunadamente, no estoy seguro de cuáles son buenos clientes, aparte de, presumiblemente, los simples pscp
de Putty.
Respuesta2
En general, todos los protocolos funcionarán aproximadamente igual. Es más probable que esté limitado por la velocidad de su red o disco que por el protocolo.
Las versiones anteriores de OpenSSH (SFTP/SCP) usaban un tamaño de ventana fijo que limitaría la velocidad en redes de alta latencia (por ejemplo, transatlánticas). Existe un conjunto de parches para solucionar este problema llamado HPN (redes de alto rendimiento) y se incluye en la mayoría de las instalaciones modernas de OpenSSH.
Si se encuentra en una situación como un enlace LAN gigabit o más rápido y una CPU más lenta, entonces SFTP/SCP puede encontrarse con un cuello de botella. Podrás saberlo porque el proceso ssh/scp/sftp utilizará el 100% de la CPU en el alojamiento de envío o recepción. Si está utilizando una versión más nueva de OpenSSH (6.4+), puede habilitar una versión con subprocesos del cifrado AES que podrá usar más de 1 núcleo para manejar el cifrado y será menos probable que esté limitado por la CPU que por el disco. o ancho de banda de la red.
Si controla tanto el lado de envío como el de recepción, OpenSSH 6+ también tiene un modo opcional 'NONECIPHER'. Esto utiliza el cifrado/claves habituales, etc. para iniciar sesión en la máquina remota, pero luego pasa a una conexión no cifrada para la copia del archivo real. Esto eliminará esa sobrecarga de CPU. Hay medidas de seguridad integradas en NONECIPHER que le impiden obtener un shell que no esté cifrado.
Al final, el protocolo no debería ser la limitación de velocidad, aunque las versiones anteriores de ssh tienen problemas con enlaces de alta latencia.
Respuesta3
Según la sobrecarga de cifrado, diría que el FTP simple probablemente tenga un rendimiento ligeramente mejor que los otros protocolos, pero probablemente sea insignificante. Primero usaría el protocolo que proporciona la seguridad que necesita y luego me preocuparía por el rendimiento.
Dicho esto, tendrás que realizar una prueba para encontrar los números reales. Todo lo anterior es solo mi opinión. Si está probando el rendimiento localmente, configure un servidor en su red. Si el uso final será a través de Internet, pruebe desde un host externo.
Respuesta4
Como siempre, google tiene las respuestas,
FTP frente a SFTP frente a FTPS
Lo que dice FTP > FTPS > SFTP
FTP también parece ser más rápido que SCP en la prueba de otra persona (http://www.lysesoft.com/support/forums/viewtopic.php?f=5&t=542) pero te recomiendo que lo pruebes tú mismo para verlo.
Así que simplemente configure SCP y FTP en cualquier cuadro aleatorio de su red, luego ejecute una transferencia de archivos típica y vea cuánto tiempo lleva ambos.