Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
3.7k views
in .NET FTP by (160 points)
We're using a licensed version of edtFTPnet/PRO and I'm running it on a x64 server running Windows 2008 Server. I'm downloading a 7MB zipped file using SFTP. I used the default TransferBufferSize and TransferNotifyInterval setting and it's taking about 19 secs to download the 7MB file. I changed the TransferBufferSize and TransferNotifyInterval to 65536 and the download reduced to 13 secs. However when I use the WinSCP client to connect using SFTP I can download the same file in about 5 seconds. When I set the TransferBufferSize and TransferNotifyInterval higher e.g. 131072 I get the error detailed below.

Is there any further settings I can modify to reduce the download time?


************** Exception Text **************
EnterpriseDT.Net.Ftp.Ssh.SFTPException: [errorcode=0]
at EnterpriseDT.Net.Ftp.Ssh.SSHFTPClient.NXjwTXnQb(Stream , String , String )
at EnterpriseDT.Net.Ftp.FTPConnection.DownloadFile(String localPath, String remoteFile)
at EnterpriseDT.Net.Ftp.ExFTPConnection.SyncDownloadFile(String localPath, String remoteFile)
at SFTPDownload.Form1.btnDownload_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
SFTPDownload
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/glangtry.admin/Documents/SFTPDownload.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
edtFTPnetPRO
Assembly Version: 7.0.0.20
Win32 Version: 7.0.0.20
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/edtFTPnetPRO/7.0.0.20__0dce1ad63760d80b/edtFTPnetPRO.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------

3 Answers

0 votes
by (162k points)
In the first instance, for best performance logging should be turned off.

The next thing to do is to look at the WinSCP log to see what algorithm is being used. You can then enable only this algorithm in edtFTPnet/PRO to do a comparison.
0 votes
by (160 points)
Thanks for the reply Hans.

I checked the logs for WinSCP which indicated AES-256 and HMAC-SHA1 algorithms are used.

I set the following properties accordingly:

sftpClientConn.PreferredCipherAlgorithms = EnterpriseDT.Net.Ssh.SSHCipherAlgorithm.AES256;
sftpClientConn.PreferredMACAlgorithms = EnterpriseDT.Net.Ssh.SSHMACAlgorithm.HMACSHA1;

I hadn't modified the logging settings (the error I had previously included was from an error pop-up from a Visual Studio 2008 application and not from log file). Anyway I've explicitly turned logging off.

Performance has improved when TransferBufferSize set to 4096, download going from 19 secs to 15 secs but performance with TransferBufferSize set to 65536 has deteriorated going from 13 secs to 17 secs. Either way it's still not matching WinSCP's download time of 5 secs.

Any other suggestions? Is the fact that it's running on x64 architecture significant, I can only access the sftp site from x64 machines so I can't test elsewhere.

Thanks

Gerry
0 votes
by (162k points)
Could you email us the WinSCP log file and also the edtFTPnet/PRO log file at the INFO level?

Categories

...