Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Nov 1995 21:00:44 +0100 (MET)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        hackers@freebsd.org, luigi@labinfo.iet.unipi.it (Luigi Rizzo)
Subject:   TIME_WAIT and linear chain of TCPCBs (was: ...beat a WEB server to death)
Message-ID:  <199511132000.VAA01171@labinfo.iet.unipi.it>

next in thread | raw e-mail | index | archive | help
There are two phenomenons which might disturb performance on a busy
http or gopher server. I would like to know how FreeBSD deals with them

* TIME_WAIT:
  a connection should remain in the TIME_WAIT status for 2MSL.
  According to the spec this is 4 minutes, although I believe 4.4Lite
  uses a shorter value (1minute ?). As J.Mogul points out in his
  paper "The case for Persistent-Connection HTTP",

      http://ftp.digital.com/~mogul/sigcomm95.ps,
 
  a busy server might end up with many thousands of connections in the
  time wait state, consuming a large amount of memory;

* TCPCB caching
  when an incoming segment arrives, the pertinent tcpcb must be
  located. I believe that 4.4Lite uses a linear chain of tcpcbs, with
  possibly a pointer to recently used ones. On a busy server, both the
  arrangement and the cache are not very effective. Someone in the
  literature (I forget whom, but Stevens' book "TCP/IP illustrated"
  tells more on this) suggested the use of a hash table.

I believe a busy HTTP server using 4.4Lite code can become very
inefficient in demuxing incoming TCP segments for the above two
reasons. Does -current code include any improvement to the code ?

	Luigi
====================================================================
Luigi Rizzo                     Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it       Universita' di Pisa
tel: +39-50-568533              via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522              http://www.iet.unipi.it/~luigi/
====================================================================




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511132000.VAA01171>