I am not sure the issue is related with my current Ubuntu, it might.
I am connecting with FileZilla the present laptop, with Ubuntu 20.04, as a client, to another desktop Win 10 PC (with a USB WiFi adapter) as a server, all within my local network.
Whenever I transfer a large file, transfer rates sometimes slowly grow (say, from ~50kB/s when it starts to 380kB/s), sometimes they slowly decrease.
Moreover, the rates I get among different transfers are widely varying. Sometimes I get up to 1MB/s, but most of the times I don't. An extreme example of this is when, if I am transferring a file at, say, 450kB/s, I interrupt the transfer, and resume it, it typically flattens the new rate at a very different value.
What could be possible reasons for all these strange findings?
I am pretty sure the cause is not any simultaneous use of the network, as in the extreme example.
Related:
01 Answer
I will not attempt to solve all your issues, just share the bit I know.
At least in part it boils down to how FTP (File Transfer Protocol) works.
It has to re-negotiate the transfer for every single file (I assume back and forth comunication) before (and also, after?) the actual transfer takes place; which means, that when you have a lot of small files, a lot of the "infrastructure" gets bogged down with the additional negotiations, and only a part of the elapsed time is used for transferring the intended payload.
Large files speed things up, because they need to get negotiated only once, and subsequently all the resources can be dedicated to only the transfer itself.
When you are transferring "mixed content" (like an entire directory with files of various sizes within), I believe that the above introduced effect can contribute to a visibly fluctuating transfer rate.
So if you just tar your files (does not compress, just concatenates) into a single archive file before sending with FTP, already the transfer will definitely take place faster. If you use zip for this, obviously, thanks to the compression, you get the advantage of a reduced payload as well. If you manage to set up a helper script on the destination machine to help with extracting the files again after arrival, then you can benefit from less time spent on transfers, in practice.