On Fri, 10 Aug 2018, Daniel Jeliński via curl-library wrote:

TCP window is not a problem, and SSH window doesn't seem to be the
problem either. There is definitely still some room for improvement.

Absolutely. For example, one fundamental piece that is a rather tough obstacle is the fact that curl drains the upload buffer completely before it fills it up again. That means that all the fancy pipelining logic works fine all up until the point for when reaching the end of the buffer.

Then when the final piece of the buffer is sent (and acked) it refills the 512KB buffer again and fires off a huge amount of data split up in many packages. So there's still this bottle neck for every buffer-size.

A "sliding buffer" approach or similar would be much more efficient there so there always be a full RTT worth of data in progress. Alternatively, libssh2 could offer a better API that's more suited to send (and receive) SFTP data.

--

 / daniel.haxx.se
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to