Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
5.8k views
in .NET FTP by (160 points)
I have a Complete FTP server setup in a datacenter with 100mbps connectivity.
My dev machine is on another ISP cable modem 5-7up 20 down..

I am putting together a application that will primary upload files using SFTP
using edtFTP.

After spending a lot time on testing transfer rates, I found that different machines
vary greatly in terms transfer rates. All using the same internet connection & DU meter
to review the transfer rates.

For example a Win7 64 machine could only upload at around 500kbps (not KB thats right its a 1/2 of 1 mbps)
while a vmware virtual machine inside the same host could transfer at
5-7mbps sharing the same network card being bridged.

I have found setting the ftpConnection.TransferBufferSize fixes this issue,
and using ftpConnection.TransferBufferSize =2048 for example the host machine can now
transfer at higher rates.

My question is here is there a good method to determine the optimal TransferBufferSize built into
the DLL?? or whats the best way to handle this so I can ensure my app will utilize the proper
amount of bandwidth for my clients? I suppose I could write a method to do some speed tests but
there must be a better way?? yes?

3 Answers

0 votes
by (162k points)
A good question to which there is no easy answer. It is notoriously difficult to optimize transfer rates across a number of different servers and/or clients.

Did your vmware client still transfer at the higher speeds when using the TransferBufferSize of 2048?

What client are you using btw?
0 votes
by (160 points)
the client I am referring to is the EdtFTPnet, a simple VS2010 project.

Filezlla seems to transfer excellent on all machines, it must
have some smart code tweaking the window size on the fly.. ?

The vmware client transmitted fine with the default setting, which seems
strange since the virtual machine is on the host machine which is really slow,
under 1mbps until I changed the TransferbufferSize.

The setting dramatically changes the transfer rate. For example
on another machine on a FIOS connection 25/25 with the default
TransferBufferSize I was uploading at 4-8mbps not bad.. but
if I used a 1500 buffer size.. I was getting 19-21mbps. Thats a huge difference.. also
on that same machine with a buffer size of 2048 around 13mbps, 4096 around 11-12mbps

So I guess its back to have some class in my project dedicated to adjusting
the TransmitBuffer size based on some sort of speedtest..
?
0 votes
by (162k points)
It might be that for your network it is best to set the buffer size to something fairly small, like 1500.

By memory I think FZ sets it pretty low. I'll take a look. It may be worthwhile us reducing the default.

Categories

...