Quindi, recentemente ho avuto la necessità di estrarre un file di grandi dimensioni su Internet da uno dei nostri uffici all'estero. Entrambi gli uffici hanno collegamenti in fibra a 50 Mbit in entrambe le direzioni, ma il tempo di andata e ritorno è orrendo e varia da forse 450 ms in una buona giornata e 750 ms in una schifezza.
Inizialmente, ho provato a trasferire il file su una connessione VPN ma dopo alcuni trasferimenti non riusciti (smb fa schifo su collegamenti lenti) e una velocità massima di circa 128kBps, un veloce google ha mostrato che stavo correndo contro i problemi di ridimensionamento delle finestre TCP di Windows.
Da allora ho trasferito il file attraverso un servizio commerciale di tipo cloud privato che ha portato il file qui più velocemente, quindi quanto segue è più per curiosità che altro.
Aggiunto al divertimento, è che l'accesso a Internet ad entrambe le estremità avviene tramite un proxy http. Tuttavia, ho i diritti di amministratore sui computer su entrambi i lati.
Come faresti per ottenere una migliore velocità?
Cose che ho provato:
1) Semplice SFTP tra due macchine virtuali Linux, usando il cavatappi per eseguire il punch-out attraverso il proxy http e un terzo intermediario per connettere le due estremità. Velocità raggiunta: circa 600kBps.
2) SFTP ma usando OpenSSH patchato con HPN-SSH. Cavatappi e intermediario configurati come 1). Poco o nessun miglioramento della velocità.
3) Come da 2 ma usando LFTP con pget -c -n 10
per spezzare il trasferimento in blocchi. Questo è il migliore finora, vedendo 3,5 Mbps ...
Tutti i miglioramenti sono benvenuti.