Re: [tcpm] TCP tuning

rick jones <perfgeek@mac.com> Thu, 04 February 2010 18:17 UTC

Return-Path: <perfgeek@mac.com>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F218B28C17D for <tcpm@core3.amsl.com>; Thu, 4 Feb 2010 10:17:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V5ddJo41UwWv for <tcpm@core3.amsl.com>; Thu, 4 Feb 2010 10:17:18 -0800 (PST)
Received: from asmtpout019.mac.com (asmtpout019.mac.com [17.148.16.94]) by core3.amsl.com (Postfix) with ESMTP id CECA728C167 for <tcpm@ietf.org>; Thu, 4 Feb 2010 10:17:18 -0800 (PST)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="US-ASCII"; format="flowed"; delsp="yes"
Received: from [192.168.1.101] (76-220-56-223.lightspeed.sntcca.sbcglobal.net [76.220.56.223]) by asmtp019.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KXB00G8UXHK3U50@asmtp019.mac.com> for tcpm@ietf.org; Thu, 04 Feb 2010 10:17:46 -0800 (PST)
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-0908210000 definitions=main-1002040162
Message-id: <5995012B-4768-4073-A153-1AB8012A84D4@mac.com>
From: rick jones <perfgeek@mac.com>
To: Joe Touch <touch@ISI.EDU>
In-reply-to: <4B6AF84A.9080509@isi.edu>
Date: Thu, 04 Feb 2010 10:17:44 -0800
References: <7BE9742D-6EDC-43FE-84FC-D22C52D23152@nokia.com> <133D9897FB9C5E4E9DF2779DC91E947C025F1861@SLFSNX.rcs.alcatel-research.de> <d1c2719f1002031110v3b76ca9eu14c9a110847548e7@mail.gmail.com> <4B69CDD7.6060802@isi.edu> <E086E248-DEFA-4AA4-B25D-F7FBB0FB9E7D@mac.com> <4B6A43D1.2010706@isi.edu> <9E43CA53-5BFD-4377-93D1-1AED32C09B0E@mac.com> <443C71B6-1D1A-49CA-B5E4-FB81FDCB7FD1@mac.com> <4B6A6848.80904@isi.edu> <6C3B471F-6ACB-467E-9D11-EE68388B3F5B@mac.com> <4B6AF84A.9080509@isi.edu>
X-Mailer: Apple Mail (2.936)
Cc: tcpm@ietf.org, "SCHARF, Michael" <Michael.Scharf@alcatel-lucent.com>
Subject: Re: [tcpm] TCP tuning
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Feb 2010 18:17:20 -0000

On Feb 4, 2010, at 8:39 AM, Joe Touch wrote:
> rick jones wrote:
>>
>> On Feb 3, 2010, at 10:25 PM, Joe Touch wrote:
>>> Did you use a netperf option to disable Nagle?
>>
>> No, there should be no need for that.  For a TCP_RR test netperf
>> presents all the data of a request or response to the transport in a
>> single send call,  there should be no delays Nagle at all.
>
> I don't know why this still isn't widely known, but there is *no*
> correlation between the OS interface and TCP segment emissions per se.
> Send calls don't correspond to buffer flushes or anything else. All  
> they
> do is load the buffer.
>
> Nagle still needs to be disabled.
>
>> Further, in
>> this case, there was only ever the one transaction in flight at a  
>> time,
>> so at the time of each send() the connection was "idle" in the  
>> Nagle sense.
>
> Again, "at the time of each send()" is irrelelvant. What's relevant is
> what's in the buffers.

My experience thusfar with netperf benchmarking has been that the  
single-transaction at a time TCP_RR test has never run into Nagle- 
induced delays on any stack that wasn't broken, and I cannot recall  
the last time I encountered such a broken stack.  Still, if it will  
help remove a crimson fish from the sea, I have placed under:

ftp://ftp.netperf.org/traces/nonagle

another set of traces, this time with the -D option added to netperf  
to cause it to set TCP_NODELAY on either end.  My look at them  
suggests there has been no change in behaviour from the initial set of  
traces without TCP_NODELAY set.

> Some versions of Linux may have various tricks implemented. None of  
> them
> havae been standardized, though. It's worth checking with a few
> different OS's.

The cooked traces with and without thinktime, and HP-UX 11.31 as the  
server are under "hpux_11.31" under the URL above.  They too are with  
TCP_NODELAY set on both ends, and they too seem to show a very slow- 
start after idle behaviour in the presence of client thinktime.  There  
is no obvious ndd option to disable the behaviour so there is no third  
trace there.

rick jones
Wisdom teeth are impacted, people are affected by the effects of events