EldoS | Feel safer!

Software components for data protection, secure storage and transfer

SFTP performance question

Also by EldoS: CallbackProcess
A component to control process creation and termination in Windows and .NET applications.
Posted: 01/24/2012 02:40:25
by Stanisław Jankowski (Basic support level)
Joined: 12/06/2011
Posts: 20


I am testing sFTP library from SecureBlackbox and CallbackFS. So I don't know if this post should be in this forum section or rather in CallBackFS's one.

I wrote a piece of software which works as your SFTP Net Drive. I am using .NET C# CallbackFS and SecureBlackbox API and Visual Studio 2010 on Windows 7 64 bit machine and .NET framework 4.0.

The question is the performance. I tested my software with local virtual machine with Fedora 16 running standard sshd as a SFTP server. With my software I can achieve about 2.5MB/s both for read and write tests. When I tested the SimpleSFTPClient and SophisticatedSFTPClient from samples the performance was similar to my software. But the SFTP Net Drive can achieve 10-13MB/s using the same sFTP server! I belive that SFTP Net Drive was written using both CallbackFS library and sFTP library from SecureBlackbox so, in theory, i can achieve similar performance for my software.

I spend some time trying to tune some CallbackFS parameters andSecureBlacbox sFTP parameters for my software but it didn't improve the performance.

Can you give me some tips or specific sFTP configuration parameters from the SFTP Net Drive which makes sFTP transfer so fast.

I attach my configuration for CallbackFS and SecureBlackbox (not listed options are set to default values). Maybe here is the problem:


SerializeCallbacks = false;
ThreadPoolSize = 5;
StorageType = 0; //(stDisk)

SecureBlackbox sFTP:

AutoAdjustTransferBlock = true;
CompressionLevel = 6;
ForceCompression = true;
PipelineLength = 32;
UseUTF8 = true;
UseUTF8OnV3 = true;

I also played with different values of these options but it didn't impact the performance in signiificant way. It means that always the result was under 3MB/s.

Best regards,
Posted: 01/24/2012 02:54:40
by Vsevolod Ievgiienko (Team)

Thank you for contacting us.

The main difference between SFTP Net Drive and your application is that SFTP Net Drive is based on SecureBlackbox VCL edition and is compiled into a native code that is faster than pure managed .NET code. Another reason could be that you use a trial license key. A trial version of Secureblackbox includes time delays, which occurs during execution of certain methods. You can request a trial key without time delays here: http://www.eldos.com/sbb/keyreq/

Next articles can help you to improve the speed of SFTP transfers:

1) http://www.eldos.com/documentation/sb...speed.html
2) http://www.eldos.com/security/articles/7122.php
Posted: 01/24/2012 03:01:54
by Eugene Mayevski (Team)

Also next build of CBFS will include simplified source code of SFTP Net Drive and you will be able to test it as well.

Sincerely yours
Eugene Mayevski
Posted: 01/24/2012 03:30:37
by Stanisław Jankowski (Basic support level)
Joined: 12/06/2011
Posts: 20

Thank you for fast responses.
A am using time-limited SecureBlackbox key without delays fr om Eugene. I also read these articles and tried all these tips without significant performance improvement.

Maybe the bottleneck is managed .NET code as Vsevolod wrote.

Can you write the approximate maximum performance you can achieve with .NET sFTP SecureBlackox library in your tests? Of course if it is not a secret ;) Maybe the 2,5MB/s is the lim it for managed code and i have to rewrite my project with SecureBalckbox VCL edition to improve the transfer speed.
Posted: 01/24/2012 04:07:52
by Eugene Mayevski (Team)

Speed depends on plenty of factors including used encryption algorithms. You can experiment with various algorithms (especially you need to disable DES and 3DES). Also .NET JIT compiler has a problem with AES on some computers - the code works much slower than on most other systems. Normally AES code is only 5-10% slower, than in VCL, but on those problematic computers speed can decrease in about 50%.

Sincerely yours
Eugene Mayevski
Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.



Topic viewed 2421 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!