Ticket #87 (closed defect)

Opened 8 years ago

Last modified 8 years ago

slow SFTP download speed

Reported by: anonymous Owned by: bagder
Priority: normal Milestone:
Component: SFTP Version:
Keywords: Cc: bagder, tor-arntsen, thomaspu
Blocked By: Blocks:


SFTP download speed slower in ~10 times then upload speed over SFTP in the same network conditions. As I am understood it is already known issue. Do you have patch or some workaround to increase SFTP download speed?


SFTP_tarnsfer_ScreenShot.jpg (59.1 KB) - added by nobody 8 years ago.
SFTP speed screenshot

Download all attachments as: .zip

Change History

Changed 8 years ago by nobody

SFTP speed screenshot

comment:1 Changed 8 years ago by bagder

it is known, but there's nobody working on it and there's no patch that I know of.

comment:2 Changed 8 years ago by anonymous

libssh2 is a very important and widely deployed library, especially by PHP.

This sounds like a pretty important problem. How come there isn't any one maintaining this package? Am I being naive/unreasonable? Is this the bane of open source that M$ loves to crow about?

comment:3 Changed 8 years ago by tor-arntsen

People _are_ maintaining this package, but this particular problem requires a re-design of how libssh2 currently works, more or less. In other words, the performance problem is a bit tricky to solve and that is the reason it is still not fixed. Other libssh2 problems are routinely being fixed, so it's not the bane of open source projects just yet.

comment:4 Changed 8 years ago by anonymous

okay, I accept that some problems are hard to fix. And I am somewhat reassured by your response, especially the speed of it.

But I will tell you that libssh2 for PHP has in fact caused me endless grief with the many bugs it has. And AFAIK it uses this library. Now I've been assuming that the problems I've been encountering are with the PECL library itself and not with the underlying libssh2. But after seeing this bug report I started to wonder just where the real problem actually is.

SSH2 for PHP is in insanely bad shape. http://pecl.php.net/package/ssh2

comment:5 Changed 8 years ago by anonymous

clarification: "Bane of Open Source" :-) was not referring to this project, it was a reference to the levels of "abandonware" that M$ loves to crow about when claiming why they are "so much better". Never mind that M$ routinely abandons any product it wants whenever it wants and with no recourse whatsoever.

I have in fact encountered a number of "abandonware" projects in the open source community. For instance PHP itself has become a very big concern to me. Now I am very happy to see that they just recently released about 300 bug fixes for 5.2.9. But if you look up the bugs on that list you will see that many of them have been sitting idle for 2 years!!! So finally after no visible activity an amazing amount of activity. But in those last two years of no activity I've been getting concerned.

On the other hand, M$ has the attitude that if we shipped a bug before and we didn't get x thousands of complaints about it, then no matter how bad the bug is, it's okay to ship it again. and oh by the way we also hid the phone number were you are supposed to report those bugs... (I have this from an MS insider) So yes, there is a difference between how open source and M$ operate.

But the open source model does not always work either, even though there is the theoretical ability for anyone to fix a bug, as a practical matter most people have neither the time nor the skill to fix these bugs and so if the original developer community stops supporting a project is usually disappears. and thus the concern about abandonware.

comment:6 Changed 8 years ago by bagder

This project is explicitly doing libssh2 (only) the SSH2 extension for PHP is not part of what we do here. I believe that is maintained by the PHP team themselves.

Also, your words on open source is totally misplaced here. We deal with libssh2 bugs in this tracker.

comment:7 Changed 8 years ago by anonymous

When you said "it is known, but there's nobody working on it" that what set off my alarm bells to do with abandonware. When you misinterpreted what I had said then I felt that I needed to clarify. Sorry for cluttering up your bug tracker with off-topic items.

as far as PHP SSH2 goes, that program has indeed been the bane of my existence. as far as I know it is just a wrapper to this library. I have no way to know if the bugs are in the wrapper or in the underlying library. I mostly assume it is the fault of the PHP wrapper, but then when I started looking through the bug reports for this library I started to wonder. Clearly the download speed problem is in the underlying library and not the fault of the wrapper.

SSH2 is such a fundamentally essential communication service, the current levels of brokenness are hard to fathom.

I am basically satisfied with your explanation below about why this bug is not being looked at. Thank You very much for your time and patience.

-- Codeslinger

comment:8 Changed 8 years ago by bagder

If you really deem this library so important, I'm convinced you'll show that by putting your efforts (and money?) into improving it rather than just telling the team of spare time volunteers about "the current levels of brokenness". There's little need for that information sharing.

comment:9 Changed 8 years ago by anonymous

SSH2 is such a fundamentally essential communication service, the current
levels of brokenness are hard to fathom.

I don't think SSH2 is really very essential when developing web, which is what PHP is meant for. The divide is too large.. SSH2 is heavily stateful, web is stateless. It makes a very poor fit.

Of course, there are fun possibilities, opportunities for innovation, but as Daniel pointed out if you are interested in spearheading that innovation, or merely making your existence more pleasurable, we would really appreciate your help improving libssh2. Daniel and myself are both available for support/development contracts, or you could simply work on the library yourself.

I am looking forward to your help with the project!


comment:10 Changed 8 years ago by anonymous

"I don't think SSH2 is really very essential when developing web, which is what PHP is meant for."

Actually PHP is a very versatile high level language. The CLI version does a very good job for creating daemons of various sorts. I personally have written a web server and an email server in php; the email server actually runs faster than the *major name* c program that it replaced. I also know of two different projects to implement a DNS server in php. Why do such crazy things? It's because of the programmer efficiency of using a high level language instead of a low/medium level language like c. There is also the bonus of better security, php programs are not susceptible to buffer overflows in the way the c programs are.

Why do I need SSH? Because I am creating a B2B EDI gateway and need to securely exchange files with other servers -- which I do not control. And I am not the only one who does this sort of thing with PHP.

I would love to be able to toss a bunch of money in your direction, but sadly I must defer for now. My company is still in startup mode and has no income to speak-of, neither do I have any spare time at the moment but am working about 16-18 hours per day. I came here hoping to find some solutions to a huge and costly headache. I can live with slow downloads, but there are other problems which have been nearly insurmountable -- and which are probably not in libssh2 but in the php wrapper.

I really do appreciate the warm words of welcome which have been extended to me, and perhaps in the future I can contribute in some way. Thank You!

-- Codeslinger

comment:11 Changed 8 years ago by thomaspu


It would probably much more helpful to you and the rest of us that follow bugs and such if you'd put messages of this sort on the libssh2 mailing list. It helps keep the information in the bug reports much cleaner and easier for everyone to follow regarding the specifics of a bug and also provides a means for people that may be able to help you that are not libssh2 devs or do not follow bug reports to get in touch with you.

The list is: libssh2-devel@…


comment:12 Changed 8 years ago by anonymous

How hard would be to redesign libSSH code to enhance SFTP perfomance ?
This is a quite important for our project too and may be we could find some resources to help you.
Do you have any estimation ?


comment:13 Changed 8 years ago by bagder

I have to second Paul here: please take this discussion to the mailing list.

Note: See TracTickets for help on using tickets.