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.