So, I've recently had the need to pull a large file over the internet from one of our offices overseas. Both offices have 50Mbit fibre links in both directions, but the round-trip-time is horrendous and varies from maybe 450ms on a good day and 750ms on a crap one.
Originally, I tried pulling the file over a VPN connection but after a few failed transfers (smb really sucks over slow links) and speed maxing out at about 128kBps a quick google showed that I was running up against windows TCP window scaling issues.
I have since pushed the file through a commercial private-cloud type service which got the file over here quicker, so the following is more for curiosity than anything else.
Added to the fun, is that internet access at both ends is through a http proxy. I do, however, have admin rights on machines at both ends.
How would you go about getting better speed?
Things I've tried:
1) Plain SFTP between two linux virtual machines, using corkscrew to punch out through the http proxy and a third intermediary to connect the two ends together. Speed achieved: around 600kBps.
2) SFTP but using OpenSSH patched with HPN-SSH. Corkscrew and intermediary config same as 1). Little if any speed improvement.
3) As per 2 but using LFTP with
pget -c -n 10 to break the transfer into chunks. This is the best so far, seeing 3.5MBps...
All improvements welcome.