Improve file transfer performance over VPN I have two Apple machines: a server and a client. Both are running the newest builds of macOS Sierra 10.12.6. The “server” machine is running macOS Server running VPN and file sharing. Both machines are connected to Gigabit Internet (1Gbps up and down) but are located thousands of miles apart. The disk read/write speeds on both ends are above 100 MBps (800Mbps).

I connect my client to the server VPN (L2TP) and then file share over AFP. I regularly shuttle large files and folders to the server from the client. However, the highest speed I can get is 5 MBps (40 Mbps) sustained transfer, with a max peak of 12 MBps. If I’m moving files the other way (server to client), but transfers all initiated on the client machine), I can get as high as 10 MBps (80Mbps) sustained transfer. However, I can never get higher than that. Even with the VPN’s overhead, I was hoping to get a higher speed than, at most, 10% of the rated speed.

My questions are:  


Is this low speed normal for a VPN (factoring in overhead)?
What can I do to improve my transfer performance (for large files, not large folders with lots of small files)?
AFP (like SMB) is a protocol that was designed for use in local networks. It suffers a lot from the high latencies over WAN.

If possible, use a protocol that was designed to tolerate high latencies, like (S)FTP. Even scp or rsync should do significantly better.