Date: Sun, 5 Mar 2000 09:34:28 +1300 From: Joe Abley <jabley@patho.gen.nz> To: Paul Robinson <wigstah@akitanet.co.uk> Cc: hackers@FreeBSD.ORG Subject: Re: Tuning TCP/IP Performance Message-ID: <20000305093427.A21367@patho.gen.nz> In-Reply-To: <Pine.BSF.4.10.10003042016240.22659-100000@elwood.akitanet.co.uk>; from wigstah@akitanet.co.uk on Sat, Mar 04, 2000 at 08:21:20PM %2B0000 References: <Pine.BSF.4.10.10003042016240.22659-100000@elwood.akitanet.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 04, 2000 at 08:21:20PM +0000, Paul Robinson wrote: > I've been trying to get TCP/IP performance as fast as possible by playing > around with sysctl (playing in the net.inet area) and so on, and was > wondering if there were any comprehensive resources on this that I've > missed. I haven't heard of any algorithms to tune TCP automagically. When I work with people who have satellite hops in their network, we usually have to tune the TCP knobs by hand, trying a large number of transactions and statistically minimising transaction time. > Whenever I do a sysctl -d -a to get a list of descriptions, I get > the following on 3.2-RELEASE: > > sysctl: sysctl name -1 1024 2: No such file or directory I get that too, but I had never noticed because I didn't know about the "d" flag :) FreeBSD 3.3-RELEASE FreeBSD 3.3-RELEASE #1: Sat Dec 4 15:21:53 NZDT 1999. > Any idea as to what's going on here? > > Also, I seem to remember hearing about a method used on SunOS to send the > first four bytes of the data payload back with the SYN ACK which gives the > appearance of improved performance on benchmarks. Does anybody know as to > whether this is possible under any version of FreeBSD? I'll move to 4.0 if > I have to. :) This is what I generally do before I try to tune anything further: # turn on RFC1323 extensions (timestamps, PAWS, window scaling, etc) These # seem to be on by default in 3.3, YMMV for 3.2. sysctl -w net.inet.tcp.rfc1323=1 # open up the send and receive windows to 131072 bytes; the default # 16k is too small for people living oceans away from the majority of # their content sysctl -w net.inet.tcp.sendspace=131072 sysctl -w net.inet.tcp.recvspace=131072 # If 4.0 (or later 3.x's) support SACK, turn that on here too. SACK is # cool :) This is what I use on OpenBSD: sysctl -w net.inet.tcp.sack=1 # If you want to try transactional TCP (T/TCP, RFC1644) which is the # thing you mentioned with the single segment with SIN, ACK, FIN + payload, # turn this on: sysctl -w net.inet.tcp.rfc1644=1 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000305093427.A21367>