OpenSSH
[Top] [All Lists]

Re: Nagle & delayed ACK strike again

To: rick.jones2@hp.com
Subject: Re: Nagle & delayed ACK strike again
From: Miklos Szeredi <miklos@szeredi.hu>
Date: Thu, 21 Dec 2006 20:30:45 +0100
Cc: openssh-unix-dev@mindrot.org
Delivered-to: sp-com-lists@consult.net
Delivered-to: openssh-unix-dev-list1@securepoint.com
Delivered-to: openssh-unix-dev-tmda@mindrot.org
Delivered-to: openssh-unix-dev@mindrot.org
In-reply-to: <458ADA18.4060300@hp.com> (message from Rick Jones on Thu, 21 Dec 2006 11:01:44 -0800)
List-archive: <http://lists.mindrot.org/pipermail/openssh-unix-dev>
List-help: <mailto:openssh-unix-dev-request@mindrot.org?subject=help>
List-id: Development of portable OpenSSH <openssh-unix-dev.mindrot.org>
List-post: <mailto:openssh-unix-dev@mindrot.org>
List-subscribe: <http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev>, <mailto:openssh-unix-dev-request@mindrot.org?subject=subscribe>
List-unsubscribe: <http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev>, <mailto:openssh-unix-dev-request@mindrot.org?subject=unsubscribe>
References: <E1Gx45V-00052p-00@dorka.pomaz.szeredi.hu> <4589B1FC.8070709@hp.com> <E1GxAul-0005oc-00@dorka.pomaz.szeredi.hu> <458ADA18.4060300@hp.com>
Sender: openssh-unix-dev-bounces+openssh-unix-dev-list1=securepoint.com@mindrot.org
> >>My personal stance is that 99 times out of ten, if an end-user 
> >>application speeds-up when it sets TCP_NODELAY, it implies the end-user 
> >>application is broken and sending "logically associated" data in 
> >>separate send calls.
> > 
> > 
> > You tell me, is X protocol broken?  
> 
> Likely not - the discrete mouse events which are usually cited as the 
> reason X needs TCP_NODLEAY are not logically associated.  Hence that is 
> the 100th situation out of 10 rather then the 99.
> 
> > Is SFTP broken? 
> 
> Depends - is it writing logically associated data to the connection in 
> more than one send call?

No.  They are logically separate calls.

> > I don't think
> > SFTP more broken than any other network fs protocol.  The slowdown
> > happens with a stream of WRITE requests and replies.  If the requests
> > weren't acknowledged, there wouldn't be any trouble, but
> > acknowledgements do make sense for synchronous operation.
> 
> Do you have some system call traces and/or packet traces we could look 
> at?  If the write requests and replies are each single send call they 
> probably qualify as the "X exception"

Yes this is the case.  It's the symmetric counterpart of a READ
message pair, where the request is small and the reply is large.  In
that case the client needed TCP_NODELAY to solve the delayed ACK
interaction problem.

With the WRITE is the opposite, the request is large and the reply is
small, and now TCP_NODELAY is needed on the server.

In both cases the request and the reply are sent to the socket with a
single write() call.

To me it still looks like the use of Nagle is the exception, it has
already been turned off in the server for

  - interactive sessions

  - X11 forwarding

and it will need to be turned off for

  - SFTP transport

  - IP tunnelling

  - ???

Is there any transported protocol where Nagle does make sense?

Miklos
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev

<Prev in Thread] Current Thread [Next in Thread>