> From [email protected] Fri Aug  1 09:28:21 1997
> Date: Fri, 01 Aug 1997 11:21:42 -0400
> To: [email protected]
> From: "John V. Martinez" <[email protected]>
> Subject: Re: HTTP 1.1 pipelining & persistent connections query
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> 
> At 09:34 AM 7/30/97 -0400, Matthew wrote:
> 
> >Can someone explain pipelining and persistent connection benefits of HTTP 
> >1.1 to me?
> >I have set up a simple spreadsheet to analyse this and get contradictory 
> >results.
> >I have one column which is a single persistent TCP connection to transfer 
> >1MByte, it takes 20 RTTs as can be seen in second column.
> 
> Hi Matthew,
> 
> Try re-building your spreadsheet for some smaller numbers - the performance 
> (and reduced net-traffic) benefits of HTTP 1.1 pipelining make the most sense 
> for a 'typical' web page, where the main page is about 1-2k, and then there 
> are a few small buttons/graphics each a few dozen kbytes. In this (extremely 
> common) case, where the total data to be tranferred is small, individual TCP 
> connections make for horrible performance, because the TCP slow-start 
> algorithm  takes so long to crank up that by the time the window size has 
> reached something reasonable, you are done transferring data, and are closing 
> down the connection. (Also, the ratio of data packets to connection control 
> packets is awful when you open many small connections -- this is an expensive 
> way to use limited transponder bandwidth.) Opening just one, persistent 
> connection means that your TCP connection will last longer, and have more 
> opportunity to operate with a large window.
The benefits of pipelining over persistent connections depends on the
behavior of the client.
Consider a page (2K) with a few graphics.
The page itself incurs slow-start, but since there are only 4 packets,
the window doesn't open that much.
The request for the first button cannot be in the pipeline until the
client parses this first page, and sends the request. Because the server
has received ACKs for the entire window of data sent, but has no new
data to send, the window gets 'shut-down' to do a slow-start restart.
So the first button incurs slow-start as well.
Depending on how fast the server can process a request, there may
be gaps in the transmission of subsequent responses. If there are,
due to HTTP parsing, file system lookup, etc., and if these gaps
are large enough, the window can shutdown and restart between each
response.
"opportunity to open a large window" may or may not ever exist...
Joe
----------------------------------------------------------------------
Joe Touch - [email protected]		    http://www.isi.edu/~touch/
ISI / Project Leader, ATOMIC-2, LSAM       http://www.isi.edu/atomic2/
USC / Research Assistant Prof.                http://www.isi.edu/lsam/
This archive was generated by hypermail 2b29 : Mon Feb 14 2000 - 16:14:28 EST