Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 85279 invoked from network); 9 Nov 2009 19:00:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Nov 2009 19:00:09 -0000 Received: (qmail 90751 invoked by uid 500); 9 Nov 2009 19:00:08 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 90671 invoked by uid 500); 9 Nov 2009 19:00:08 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 90662 invoked by uid 99); 9 Nov 2009 19:00:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Nov 2009 19:00:08 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of minfrin@sharp.fm designates 72.32.122.47 as permitted sender) Received: from [72.32.122.47] (HELO chandler.sharp.fm) (72.32.122.47) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Nov 2009 18:59:59 +0000 Received: from chandler.sharp.fm (localhost [127.0.0.1]) by chandler.sharp.fm (Postfix) with ESMTP id CD492DC0BE for ; Mon, 9 Nov 2009 12:59:38 -0600 (CST) Received: from graham-leggetts-macbook-pro-3.local (unknown [212.58.232.179]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: minfrin@sharp.fm) by chandler.sharp.fm (Postfix) with ESMTP id 897F4DC0B5 for ; Mon, 9 Nov 2009 12:59:38 -0600 (CST) Message-ID: <4AF86699.2070205@sharp.fm> Date: Mon, 09 Nov 2009 20:59:37 +0200 From: Graham Leggett User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: Httpd 3.0 or something else References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Virus-Checked: Checked by ClamAV on apache.org Akins, Brian wrote: >>> It works really well for proxy. >> Aka "static data" :) > > Nah, we proxy to fastcgi php stuff, http java stuff, some horrid HTTP perl > stuff, etc (Full disclosure, I wrote the horrid perl stuff.) Doesn't matter, once httpd proxy gets hold of it, it's just shifting static bits. Something I want to teach httpd to do is buffer up data for output, and then forget about the output to focus on releasing the backend resources ASAP, ready for the next request when it (eventually) comes. The fact that network writes block makes this painful to achieve. Proxy had an optimisation that released proxied backend resources when it detected EOS from the backend but before attempting to pass it to the frontend, but someone refactored that away at some point. It would be good if such an optimisation was available server wide. I want to be able to write something to the filter stack, and get an EWOULDBLOCK (or similar) back if it isn't ready. I could then make intelligent decisions based on this. For example, if I were a cache, I would carry on reading from the backend and writing the data to the cache, while the frontend was saying "not now, slow browser ahead". I could have long since finished caching and closed the backend connection and freed the resources, before the frontend returned "cool, ready for you now", at which point I answer "no worries, have the cached content I prepared earlier". Regards, Graham --