I have a P200 Linux box which acts as a server and runs SuSE 8.1, the lukemftp client and pureftpd server. I also have a 1.2 Ghz Windows box for desktop apps (one day maybe it'll be Linux too!) where I use Windows XP, the windows ftp client and GuildFTPd server.

My problem is that there is an enormous discrepancy in transfer speed depending on who is the server and who is the client. For example:

a 2.1 Mb file:
linux get's from windows server - 3.95MB/s
windows puts to linux server - 7.4MB/s
windows gets from linux server - 115KB/s !!!!!
linux puts to windows server - 350KB/s !!!!!!

The network uses a cable/router/wireless access box but the transfer above is over wire using 100Mbs cards - the windows one is a built in Intel chipset and the linux one is a Realtek 8139.

I have measured the disk perfomance on the linux box (which uses an Adaptec2940W SCSI controller and IBM disk) with bonnie++ and get a figure of about 17352K/s which implies that the slow xfr from linux to windows is'nt because of a slow linux file system(?).

I've played around with /proc/sys/net settings (tcp_rmem, tcp_wmem, etc) but it was a bit hit-and-miss and seems to make little or no difference.

I'm afraid that I have run out of ideas. can anyone help?

Many thanks, bill