This project is read-only.

sftp slow

Dec 30, 2011 at 10:56 PM

Hello

I'm using ssh.net to run some commands and then download a file

but the sftp seems to be unbearably slow. It is using 1% of my gig connection.

Is there anything that can be done to make it faster?

Thanks

Casey

Jan 4, 2012 at 6:21 PM

Hmm,

 

Thanks for pointing it out.

 

I am not sure how but I think it should be possible to improve.

 

I will take a look at it and will let you know if something can be done.

 

Thanks,

Oleg

Jan 4, 2012 at 7:20 PM

From what I found so far, the reason its slow, is becuase encryption implementation that I have a probably slower then other implemention.

 

For example, when I use 3DES encryption, it utilizes only 1-2% of my 1Gb bandwidth but when I switch to AES it uses 5%-6%.

So I assume it doesnt encrypt fast enough to send that much information.

 

I assume if you were to use different encryption method it would be even faster.

From application performance analyzes I could see that actual time to send the data over the wire is very low.

 

Not sure how much I could improve it at a moment but I guess thats the reason why its slow.

 

Hope it helps,

Thanks,

Oleg

Jan 13, 2012 at 7:00 PM

Hi Oleg

Thanks for the reply. I really enjoy using ssh.net its output is

much easier to parse than plink. Mine like yours uses 1 to 2%

of my 1Gbps. The thing is that putty pscp uses 10% upload

and 25% download which makes it super slow by comparision.

I don't know how to fix it or anything just pointing out the problem.

Thanks

Casey

Jun 15, 2012 at 11:08 AM

I'd like to "up" this discussion, because I also noticed that the library is very slow.

I haven't been able to manage why.

In my case, I have an Sftp server that I don't managed (provided by my hosting service). It uses aes256-ctr for its session encryption.
I've tested downloads from this server, with 3 applications, FlashFXP, FileZilla, and mine which uses this library.

With FlashFXP and FileZilla files are transfered at an average of 500KB/s, in my app i'm stuck at 75KB/s.

I though that may be the library was using another encryption (a slower one), but the CurrentServerEncryption is aes256-ctr like the other one.

I don't know if I can change the connection encryption (may be the server can handle another type of encryption), and if I can, how ?
But it seems weird that for the same encryption the library is about 10 times slower.

Anyway, thank you very much for the library, I'm trying to figure out how to fix this myself, but I'm not good enough with encryption ^^ 

Jun 18, 2012 at 2:13 PM

Hi,

 

Thanks for bringing this discussion up again but at this point, unfortunately I can do much, or at least I don't know how.

I was doing some performance tests before and what I noticed is that biggest slow down happens in encryption and decryption of the data.

The different performance can be achieved by using different encryption algorithms.

I was looking into potentially parallelise encryption, but its also not possible, since one block uses previously sent block for encryption.

 

If I find new idea or algorithm to use I will defiantly will do that.

 

Thanks,

Oleg