Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 10525 invoked by uid 6000); 16 Apr 1999 14:55:39 -0000 Received: (qmail 10506 invoked from network); 16 Apr 1999 14:55:36 -0000 Received: from fwns2d.raleigh.ibm.com (HELO fwns2.raleigh.ibm.com) (204.146.167.236) by taz.hyperreal.org with SMTP; 16 Apr 1999 14:55:36 -0000 Received: from rtpmail03.raleigh.ibm.com (rtpmail03.raleigh.ibm.com [9.37.172.47]) by fwns2.raleigh.ibm.com (8.9.0/8.9.0/RTP-FW-1.2) with ESMTP id KAA29860 for ; Fri, 16 Apr 1999 10:55:30 -0400 Received: from webdev7.raleigh.ibm.com (webdev7.raleigh.ibm.com [9.37.72.37]) by rtpmail03.raleigh.ibm.com (8.8.5/8.8.5/RTP-ral-1.1) with ESMTP id KAA34626 for ; Fri, 16 Apr 1999 10:55:31 -0400 Date: Fri, 16 Apr 1999 10:45:04 -0400 (EDT) From: Ryan Bloom To: new-httpd@apache.org Subject: Re: cgi performance in Apache-apr. In-Reply-To: <14103.19410.945836.410627@zap.ne.mediaone.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Not a problem, I've been meaning to update the list. I am writing a module that creates a cgi spawning process. Basically, when the server starts, I fork a new process which has a pipe to each child server. When the children get a cgi request, they pipe their unique thread number through the pipe, and open three named pipes specified by their thread_id. The cgi server then forks a new process, which also opens the same three pipes, and waits for data from the child server. The child packages up everything the cgi server will need to execute the cgi. (filename, arguments, environment, variables, suExec data, etc.), and sends it to the cgi process. The cgi process spilts everything out of its packaged state, and executes the program properly. The module was working a few weeks ago, but I never got a chance to optimize it, and it wasn't showing a big performance improvement, because I was writing data to the pipes in very small chunks, for debuggin purposes. Since then, I have been doing apr work. But, I am devoting today to the module, and I hope to have it working better soon. When it is ready for general consumption, I'll post it to new-httpd for everybody to see and critique. I don't think the per-dir env stuff is affecting the module at all, but I just started looking at it again, so we'll see. Ryan On Fri, 16 Apr 1999, Ben Hyde wrote: > > Ryan Bloom wrote: > > We did some very informal performance numbers for cgi's in the hybrid > > server on AIX, and we have found a problem. The performance for AIX went > > downhill quickly when we tried running CGI scripts. The reason for this, > > is that fork on AIX creates the full address space for the process. This > > means, all of the threads are created ... > > Excuse my curiosity but how has this situation evolved? The per dir. > environment stuff came along afterware right? > > - ben > _______________________________________________________________________ Ryan Bloom rbb@raleigh.ibm.com 4205 S Miami Blvd RTP, NC 27709 It's a beautiful sight to see good dancers doing simple steps. It's a painful sight to see beginners doing complicated patterns.