A long while ago I posted my first version of the comparison of libssh vs libssh2. I have since then kept it updated and modified it over time. (Reminder: I am the libssh2 maintainer)
In that page, I included the performance differences I had measured which at the time showed libssh2 to be significantly faster when doing SCP operations.
The libssh guys always claimed I was wrong:
Please don’t be ridiculous. No competent network developer will take you seriously when you tell that libssh2 is 2.3 times faster that libssh.
and have even used rather harsh words when saying so.
you read this FUD page on the libssh2 website. I don’t want to start arguing here, the page is complete crap
(These two quotes are from the two leading libssh developers.)
Due to their complaints I withdrew the mentioning of the speed differences from the comparison page. Maybe I had done something wrong after all and since I didn’t care properly to go back and verify my methods and redo everything, I decided to just take it off until I have more backing or more accurate tests.
Fast forward to current time and Mark Riordan does his extensive performance tests of various SSH/SFTP implementations. He mailed the libssh mailing list about it, and his test results are interesting. I’m including it below for easier reading and just in case Mark’s original won’t be around as long as this.
It repeats very similar numbers to mine and shows the same speed difference that I was told cannot happen. Isn’t that funny? Am I still ridiculous?
SSH file transfer performance
The following table summarizes performance of SSH clients.
LAN: 1 Gbit/sec WAN: 6 Mb down, 0.9 Mb up Solaris x86 server Client Client OS Server Comp
EnableFile
CmpUL MB/s DL MB/s UL MB/s DL MB/s libssh2 Win Solaris No No 0.147 12.2 libssh2 Win Solaris Yes No libssh2 Linux Solaris No No 0.82 11.8 libssh2 Linux Solaris Yes No libssh 0.4.6 Win Solaris No No Bitvise Tunnelier Win Solaris No No 13.50 3.95 Bitvise Tunnelier Win Solaris Yes No 8.541 10.2 psftp Win Solaris No No 9.4 5.06 or 0.46 WS_FTP 12.3 Win Solaris No No 8.07 7.65 Ubuntu sftp Linux Solaris ? No 29.6 11.5 Linux server libssh2 Win Linux No No 9.5 8.1 0.059 0.26 libssh2 Win Linux Yes No libssh2 Linux Linux No No 7.4 7.4 0.083 0.267 libssh 0.4.6 Win Linux No No 15.4 2.8 0.10 0.13 libssh 0.4.6 Linux Linux No No 8.97 2.8 0.099 0.189 libssh 0.4.6 Linux Linux Yes Yes 19.7 3.3 libssh latest Win Linux No No 14.1 1.38 psftp Win Linux No No 4.59 6.58 0.070 0.10 WS_FTP 12.3 Win Linux No No 23.0 8.5 0.113 0.361 Bitvise Tunnelier Win Linux No No Ubuntu sftp Linux Linux No No 16.2 6.6 0.11 0.51
What about SFTP?
It should be noted that in my original claim and in this test above we speak SSH speeds (like SCP), not SFTP. SFTP has its own slew of problems and libssh2 is in fact not very good at doing SFTP speedily yet. We have work in progress to improve this situation, but we’re not there yet. I’ll post a follow-up on SFTP speeds soonish as things have been developing nicely in there recently.
What about speeds compared to other clients?
libssh2 is not fully on par with for example openssh when it comes to raw SCP speed, but it is in the same “neighborhood”.