sftp performance problem, cured by TCP_NODELAY
Rick Jones
rick.jones2 at hp.com
Wed Jan 25 08:36:22 EST 2006
Miklos Szeredi wrote:
>>In broad handwaving terms, applications that try to do "write write
>>read" can run afoul of interactions between Nagle and delayed ACK.
>
>
> Which is exactly what sftp does.
>
> Excerpt from sftp(1):
>
> | -R num_requests
> | Specify how many requests may be outstanding at any one time.
> | Increasing this may slightly improve file transfer speed but
> | will increase memory usage. The default is 16 outstanding
> | requests.
>
> I also noticed, that -R 1 actually increases throughput in some cases,
> which is nicely explained by the fact, that then it will always be
> "write read" pairs.
>
> Of course -R 1 will still result in suboptimal throughput, so that is
> not the solution.
So, if the code knows it is going to inject N requests at one time, why not use
writev() or sendmsg()?
rick jones
still interested in the packet trace though
More information about the openssh-unix-dev
mailing list