Recentemente, tive a necessidade de extrair um arquivo grande da Internet de um de nossos escritórios no exterior. Ambos os escritórios têm links de fibra de 50Mbit em ambas as direções, mas o tempo de ida e volta é horrível e varia de talvez 450ms em um dia bom e 750ms em um porcaria.
Originalmente, tentei puxar o arquivo por uma conexão VPN, mas depois de algumas transferências com falha (o smb realmente é péssimo em links lentos) e a velocidade máxima em cerca de 128kBps, um rápido google mostrou que eu estava enfrentando problemas de dimensionamento de janelas TCP do Windows.
Desde então, enviei o arquivo por meio de um serviço comercial de nuvem privada, que o colocou aqui mais rapidamente, portanto, o que se segue é mais por curiosidade do que qualquer outra coisa.
Adicionado à diversão, é que o acesso à Internet nas duas extremidades é feito através de um proxy http. No entanto, tenho direitos de administrador em máquinas nas duas extremidades.
Como você aumentaria a velocidade?
Coisas que tentei:
1) SFTP simples entre duas máquinas virtuais linux, usando o saca-rolhas para perfurar o proxy http e um terceiro intermediário para conectar as duas extremidades. Velocidade alcançada: cerca de 600kBps.
2) SFTP, mas usando o OpenSSH corrigido com HPN-SSH. Saca-rolhas e configuração intermediária igual a 1). Pouca ou nenhuma melhoria na velocidade.
3) Conforme 2, mas usando LFTP com pget -c -n 10
para dividir a transferência em pedaços. Este é o melhor até agora, vendo 3,5 MBps ...
Todas as melhorias são bem-vindas.