From owner-freebsd-hackers Thu Oct 9 00:50:08 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id AAA15678 for hackers-outgoing; Thu, 9 Oct 1997 00:50:08 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id AAA15665 for ; Thu, 9 Oct 1997 00:50:05 -0700 (PDT) (envelope-from root@implode.root.com) Received: from implode.root.com (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with ESMTP id AAA26825; Thu, 9 Oct 1997 00:51:29 -0700 (PDT) Message-Id: <199710090751.AAA26825@implode.root.com> To: Joao Carlos Mendes Luis cc: joerg_wunsch@uriah.heep.sax.de, hackers@FreeBSD.ORG Subject: Re: TCP problem In-reply-to: Your message of "Thu, 09 Oct 1997 04:32:46 -0200." <199710090632.EAA02790@zeus.coppe.ufrj.br> From: David Greenman Reply-To: dg@root.com Date: Thu, 09 Oct 1997 00:51:29 -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >// > these, anyway. You'll see the best performance at the default of >// > 16KB. >// >// > So, what's the good thing about RFC1323 ? >// >// Both, RFC 1323 and the socket buffer space size, are not related at all. > >1) RFC1323 deals mostly with large windows. Actually, only about 1/3rd of RFC 1323 deals with extending the window size. The other 2/3rds deal with other extensions to improve performance (selective ACK and better round-trip time measurement). ...but this hardly matters of course. >2) The above sysctls control the default window size. Indirectly, but yes. >3) The TCP send window data must be kept in memory until receiving an ack for > it. Isn't the socket buffer space where this data is kept ? Yes. >What am I missing here and why the best performance is got with 16KB ? Because, as I said in a previous message, increasing it won't get you any more bps due to insufficient bandwidth and other factors. Increasing it will instead have the negative effect of causing more cache flushing since more buffers are involved. This may not seem like a significant consideration, but it's definately measureable. There is also the issue of the memory being wasted; perhaps this isn't an issue for a small number of TCP connections, but can be a serious concern if you have a few hundred. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project