Entonces, recientemente tuve la necesidad de extraer un archivo grande a través de Internet desde una de nuestras oficinas en el extranjero. Ambas oficinas tienen enlaces de fibra de 50 Mbit en ambas direcciones, pero el tiempo de ida y vuelta es horrible y varía de unos 450 ms en un buen día y 750 ms en uno de mierda.
Originalmente, intenté extraer el archivo a través de una conexión VPN, pero después de algunas transferencias fallidas (smb realmente apesta a enlaces lentos) y la velocidad máxima a aproximadamente 128kBps, un rápido google mostró que estaba corriendo contra problemas de escalado de ventanas TCP de Windows.
Desde entonces, envié el archivo a través de un servicio comercial de tipo de nube privada que consiguió el archivo aquí más rápido, por lo que lo siguiente es más por curiosidad que por cualquier otra cosa.
Sumado a la diversión, es que el acceso a internet en ambos extremos es a través de un proxy http. Sin embargo, tengo derechos de administrador en máquinas en ambos extremos.
¿Cómo harías para obtener una mejor velocidad?
Cosas que he probado:
1) SFTP simple entre dos máquinas virtuales de Linux, utilizando sacacorchos para perforar a través del proxy http y un tercer intermediario para conectar los dos extremos. Velocidad alcanzada: alrededor de 600kBps.
2) SFTP pero usando OpenSSH parcheado con HPN-SSH. Sacacorchos y configuración intermedia igual que 1). Poca o ninguna mejora en la velocidad.
3) Según 2 pero usando LFTP con pget -c -n 10
para dividir la transferencia en trozos. Este es el mejor hasta ahora, viendo 3.5MBps ...
Todas las mejoras son bienvenidas.
fuente
Respuestas:
En estos días, estoy abordando las transferencias a través de enlaces de larga distancia y mayor latencia envolviendo rsync a través de UDP, utilizando UDR como transporte. UDR usa UDT , que se describe como:
Esto deshabilita el cifrado de forma predeterminada, que era una cosa importante que necesitaba cuando parcheaba HPN-SSH , pero el enfoque UDP ha ayudado bastante. El principal beneficio de la solución UDR / UDP es que la funcionalidad del comando no cambia mucho. Terminas anteponiendo el comando rsync con
udr
.Ver también: Posibilidad de optimización de WAN para tráfico SSH
fuente
Tuve el mismo problema en $ lastjob.
Manteniéndome puramente dentro de mi propia infraestructura, nunca encontré una solución mejor que LFTP.
Si puede justificar el gasto, puede obtener dispositivos que aceleran la WAN. Básicamente, convierten de forma transparente sus solicitudes en fragmentos mucho más grandes, lo que reduce en gran medida el chat entre los 2 sitios. Riverbed es probablemente la opción más conocida allí, pero IIRC también tiene un módulo para que los enrutadores Juniper lo hagan. No conozco ninguna opción de FLOSS en este momento.
En realidad, encontré que la mejor opción era Dropbox et al, pero eso puede no ser aceptable para usted.
fuente