Received: by taz.hyperreal.com (8.6.12/8.6.5) id OAA22015; Wed, 10 Jul 1996 14:46:03 -0700 Received: from acidik.organic.com by taz.hyperreal.com (8.6.12/8.6.5) with ESMTP id OAA22007; Wed, 10 Jul 1996 14:46:01 -0700 Received: from localhost (akosut@localhost) by acidik.organic.com (8.7.5/8.6.12) with SMTP id OAA27871 for ; Wed, 10 Jul 1996 14:45:39 -0700 (PDT) X-Authentication-Warning: acidik.organic.com: akosut owned process doing -bs Date: Wed, 10 Jul 1996 14:45:38 -0700 (PDT) From: Alexei Kosut To: new-httpd@hyperreal.com Subject: Re: performance ``bugs'' in apache-1.1b4's P-HTTP In-Reply-To: <199607102050.NAA00578@dash.isi.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-new-httpd@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com On Wed, 10 Jul 1996, John Heidemann wrote: > I've found a couple of interactions between Apache-1.1b4's P-HTTP and > SunOS TCP that significantly reduce performance. A web page > summarizing the problems and containing patches resolving them is now > available at > . (The > abstract of the web page is attached below. > > I encourage the Apache core team to look at these problems and > proposed solutions. If you agree with the analysis, > then the patches (or their equivalents) should be added to a future > Apache release. Wow... this looks useful. We'll certainly look into this. One note, though: The first problem you note, which has to do with Apache sending its headers as a seperate segment, cannot unfortunately just be removed. Unfortunately, Netscape Navigator has a rather serious bug in its Keep-Alive implementation - if the end of the file is in the same read as the headers, it will not recognize properly that it is dealing with a persistent connection, and the connection will hang, waiting for a close. So we added the fflush() to the code to make sure that it reads the body seperate from the headers. Obviously, we'd perfer not to do this, but Netscape makes up 60%-80% of the market (depending on who you ask), so it really wasn't feasible. One option is, I suppose, to only do the fflush() for files less than whatever Netscape's read buffer size is (I tested for this a couple month ago when I first wrote the keep-alive code, but I now forget - it was 256 or 1024 bytes, or something of the sort). Thanks. -- Alexei Kosut The Apache HTTP Server http://www.nueva.pvt.k12.ca.us/~akosut/ http://www.apache.org/