Hi,
I've recently downloaded a trial version of edtFTPj/PRO to try out the SFTP capabilities. I've been comparing it with JSch and JSCAPE's Secure FTP Factory.
I've set up a local SFTP server on my computer (the server from CoreFTP.com) and haven't configured the server in any way beyond the bare minimum required. I've then run a series of tests to time up- and downloading to/from files and to/from memory.
I was surprised to find that edjFTPj/PRO seemed to be 4-5 times slower than the other two for uploads, and 3-4 times slower for downloads. My figures were as follows:
Upload 10Mb of data from memory: 1.33 Mbyte/s (Jsch = 6.18 Mbyte/s, Jscape = 4.50 Mbyte/s)
Download 10Mb of data to memory: 1.39 Mbyte/s (Jsch = 4.89 Mbyte/s, Jscape = 4.65 Mbyte/s)
Upload 100Mb of data from a file: 0.12 Mbyte/s (Jsch = 0.60 Mbyte/s, Jscape = 0.42 Mbyte/s)
Download 100Mb of data to a file: 0.14 Mbyte/s (Jsch = 0.57 Mbyte/s, Jscape = 0.49 Mbyte/s)
I also find that disconnecting takes an age - a suspicious looking 60 seconds, in fact. The Core FTP Server monitor indicates that the final operation (regardless of whether that is a send, receive or delete) appears to be hanging. Calling the quitImmediately() method fixes this - but makes me wonder whether there's an SFTP protocol failure (either in the server or the client). The other two libraries disconnect without exhibiting this problem.
I want to give edjFTPj/PRO a fair crack of the whip, so wondered if there might perhaps be some configuration I might consider to improve the performance.
Note from EnterpriseDT developers:
A major SFTP optimization was introduced in edtFTPj/PRO 3.1.0.
It now more than matches the speed of other Java SFTP clients.
Many thanks for any suggestions,
Alistair.