Why is FileZilla SFTP file transfer max capped at 1.3MiB/sec instead of saturating available bandwidth? rsync and WinSCP are even slower

There are three common factors that affect a transfer speed:

  • Bandwidth – An obvious factor that's apparently not your trouble.

  • Network delay/latency – The SFTP is packet oriented-protocol. When downloading, the SFTP client sends a "read" request to the SFTP server, waits for a response, appends returned data to a local file; and repeats, until the end of the file.

    Even if your connection is fast, if the server is far away (or slow), it takes a time for the data to arrive back. If the client spends this time uselessly waiting, your transfer speed will be low.

    Most SFTP clients (including FileZilla and WinSCP) overcome the problem by both requesting a large chunk of the file in each single "read" request and by sending (queuing) multiple "read" requests without waiting for a response to previous. For example WinSCP can request up to 32 chunks for 32 KB each at once, totaling 1 MB (these are defaults). But if there's a big discrepancy between the bandwidth and the network delay, even that 1 MB can be too small to saturate the bandwidth.

    An underlying TCP protocol can suffer a similar problem. So it's not only how the actual SFTP client is efficient, but also how an underlying TCP layer is efficient.

    See also Bandwidth-delay product on Wikipedia.

    I do not think this is your trouble either, at least if you have used the latest version of WinSCP for the tests. There have been some improvements in the recent releases, which allow WinSCP to utilize high-latency connections as efficiently as FileZilla.

  • CPU – The SFTP, being encrypted, is CPU intensive. If you have a relatively slow CPU, comparing to a large bandwidth, the transfer can be capped by your CPU being unable to encrypt (or decrypt in case of the download) the data as fast as your network is capable of transferring them.

    Common SFTP clients cannot distribute the encryption/decryption among CPU cores, so it's actually a capacity of a single CPU core that limits the transfer speed.

    Use the Windows Task manager to see, if one of the cores is utilized to its maximum during the transfer.


Part of this answer come from WinSCP article File transfer speed is very low. WinSCP does not utilize all available bandwidth. How do I improve the transfer speed?


I had this issue as well.

I Used task manager to set the priority to high.

Now I get up to 5 MiB/s