Tengo una conexión gigabit entre mi PC y mi servidor (las pruebas de iperf3 muestran ~930 Mbps) y quiero poder transferir archivos grandes lo más rápido posible. El disco duro del servidor está conectado mediante USB3 y es un Rock64. Con ssh (estoy usando btrbk con ssh), creo que el cuello de botella probablemente sea ssh debido al alto uso de la CPU y las altas temperaturas (~60C). Desactivé la compresión aunque creo que está deshabilitada de forma predeterminada (póngala en ~/.ssh/config). Solo obtuve velocidades de hasta 350 Mbps como máximo, pero fluctuaron mucho, no creo que el Rock64 pueda manejar cifrados con tanta información. Y después de un tiempo, la velocidad se ralentizó (menos de 1 Mbps) por alguna razón de la que no estoy seguro. Reiniciar la transferencia funcionó. (Puede no ser relevante para la pregunta).
Necesito un cifrado que pueda funcionar a unos 480 Mbps como mínimo. Sin embargo, probablemente puedas reducir un poco ese número debido a las velocidades realistas de USB3. No me preocupa demasiado la seguridad porque son solo conexiones Ethernet desde PC> enrutador> servidor, pero un cifrado débil o nulo sería excesivo de todos modos. Entonces, preferiblemente el cifrado más seguro que pueda funcionar a velocidades superiores.
Respuesta1
Cada cifrado puede soportar 480 Mbps, pero muchas CPU no podrán realizar ese cifrado lo suficientemente rápido. Entonces, lo que busca es una implementación lo suficientemente rápida para su CPU.
La cadena de ejecución es
read from disk -> encrypt -> send over network -> decrypt -> write to disk
Entonces, primero todo lo que necesitas asegurarte es que realmente es el cifrado lo que te obstaculiza.
Comience con nc
en lugar de ssh
nc -l -p 9999 > /path/to/destination/file # on the receiving side
nc -N [ip.of.receiver.pc] 9999 < /path/of/original/file # on the sending side
Esto eliminará el cifrado/descifrado de la cadena y le dará una idea de las velocidades reales posibles.
A continuación, verifique si su lado emisor tiene cifrado acelerado por hardware para algunos cifrados. Lo más probable es que no sea así, pero vale la pena intentarlo.
Probar el arcfour
cifrado podría darte esperanza
Respuesta2
Encontré una velocidad de cifrado interesante.Blog. Le da una idea de cómo medir la velocidad de cifrado sin red.
for i in `ssh -Q cipher`; do dd if=/dev/zero bs=1M count=100 2> /dev/null \
| ssh -c $i someuser@localhost "(time -p cat) > /dev/null" 2>&1 \
| grep real | awk '{print "'$i': "100 / $2" MB/s" }'; done
De esta manera, puede medir el rendimiento de los cifrados en su hardware específico.