Subject: Re: CVS commit: src/sys/netinet
To: Thor Lancelot Simon <tls@netbsd.org>
From: Bang Jun-Young <junyoung@netbsd.org>
List: source-changes
Date: 10/04/2003 23:51:06
On Mon, Sep 29, 2003 at 09:39:35PM +0000, Thor Lancelot Simon wrote:
> 
> Module Name:	src
> Committed By:	tls
> Date:		Mon Sep 29 21:39:35 UTC 2003
> 
> Modified Files:
> 	src/sys/netinet: tcp_usrreq.c
> 
> Log Message:
> Increase default socket-buffer sizes from 16K to 32K.  This increases
> throughput significantly in a wide variety of test cases, including
> local gigabit ethernet with both jumbo and standard frames,
> transcontinental (U.S.) connections with e2e bandwidths ranging from
> 10Mbit/sec to 155Mbit/sec, and on a variety of test connections
> between the NetBSD Project public servers and machines in Australia.
> 
> The impact of this change is less dramatic for high-delay connections
> when Path MTU is in use but still measurable.
> 
> For optimal performance on local gigabit networks, a higher socket
> buffer size (at least 64K) will still yield a substantial improvement
> in performance, but 32K gets us most of the way there in my test
> cases, with only a cost of _doubling_ memory use per socket rather
> than _quadrupling_ it.
> 
> N.B. Windows NT, at least since Win2k SP2, uses a default socket buffer
>      size (or their analogue thereof) of 64K, which is a useful data
>      point.

FreeBSD uses 64kB for recvspace and 32kB for sendspace by default.

Also, a Korean user reported that he got 820kB/s from 300kB/s when he
increased sendspace and recvspace to 32kB and 64kB, respectively.
Wouldn't it be better if we increased the default recvspace to 64kB?

Jun-Young

-- 
Bang Jun-Young <junyoung@NetBSD.org>