On Mon, 16 Mar 2009, Peter Stuge wrote: >> It's really all about the channel window handling, and when we're talking >> raw localhost transfers we clearly need to set a very large window to get >> close to top speed for SCP. > > SCP itself is wrong and deprecated and bad in many ways, but oh well.
It's still fine to do performance testing with this it's one layer less than SFTP. And as seen, even openssh transfers SCP faster than SFTP... > I would like to discuss this with Chris Rapier at psc.edu who provides the > hpn-ssh patch for OpenSSH-portable. hpn is for High Performance Networking, > and it's a patch to maximize throughput in high bandwidth but not > neccessarily short response time situations. We can indeed use some clever brains to bring their thinking hats and offer suggestions and theories on how to maximize throughput. >> Can anyone think of any particular downside with going with these rather >> extreme window sizes as-is, or should we work on getting a more clever >> scheme for them? > > Does libssh2 buffer the full windows? I think 12Mbyte buffers are far too > fat to be OK in the general case! Well, it does. But it only reads data when you call the channel read function and you only call that when you want data to it will basically only buffer large amounts of data when you call libssh2 to ask for data in a slower pace than what data is delivered to it. I figure in most cases that will not be true. But I agree with you that 12MB is too much to buffer in a general case. > The conclusion is that I am requesting a more clever scheme. > > One scheme would be libssh2 "windowing profiles" where I can explicitly > specify that I want a fat high throughput connection, versus a slim moderate > throughput one. > > Of course full auto is nicer but I would be happy with manual control. The current code is now quite easy to read, understand and alter in this aspect (at least in my view) if you feel like experimenting. See the end of the channel.c:libssh2_channel_read_ex() function. I'm also open for suggestions on how the windowing (be it manual or profiles or whatever) would be set/changed/controlled by the application. -- / daniel.haxx.se ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ libssh2-devel mailing list libssh2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libssh2-devel