Problem

Slow Filezilla on Linux

Details

My Filezilla was significantly slower comparing to windows equivalent. I tested with Linux Mint 17 and Ubuntu 16 and the results were the same. Changing the version of Filezilla give a slight improvement on the results but still 10 times slower than Windows version.

Short Solution

  • log as root
  • execute this command - to show the current limits:
sysctl -a | grep net.*rmem
  • increase them use sysctl -w, e.g. like this:
sysctl -w net.ipv4.tcp_rmem=''40960 873800 62914560'

Detailed Solution

This solution is a bit different but it works as well(tested). You can easily apply item by adding the commands to the end of your sysctl file.

sysctl -a | grep net.*rmem
  • run this command in order to edit file sysctl file (or vi, gedit -your favorite command)
sudo nano /etc/sysctl.conf
  • place the following lines at the end of that file:
net.ipv4.tcp_rmem=40960 873800 62914560
net.core.rmem_max=25000000

I am running on Linux Mint 17 and this worked for me.

Additional info

What is the best value if the default is 212992.

The optimal value would probably be a number that's slightly higher than the largest bandwitdth-delay product you would ever encounter.

Other programs run well except Filezilla - why changing Linux and not Filezilla?

There can be considered as a Linux kernel issue. For some reasons programs requesting a large TCP receive buffer actually get a smaller TCP window scale factor than programs not specifying a receive buffer at all.

Is there side effects and if no why is not default value?

The main issue is increased memory consumption. If more memory is used by each connection, a fewer total number of connections can be established.