From owner-freebsd-questions Mon Aug 28 15:15:58 2000 Delivered-To: freebsd-questions@freebsd.org Received: from devsys.jaguNET.com (devsys.jaguNET.com [209.133.192.6]) by hub.freebsd.org (Postfix) with ESMTP id CF10C37B43C for ; Mon, 28 Aug 2000 15:15:54 -0700 (PDT) Received: (from jim@localhost) by devsys.jaguNET.com (8.9.3/jag-2.6) id SAA09225; Mon, 28 Aug 2000 18:15:43 -0400 (EDT) From: Jim Jagielski Message-Id: <200008282215.SAA09225@devsys.jaguNET.com> Subject: Re: Scaling Apache? To: bright@wintelcom.net (Alfred Perlstein) Date: Mon, 28 Aug 2000 18:15:43 -0400 (EDT) Cc: mwm@mired.org (Mike Meyer), questions@FreeBSD.ORG Reply-To: jim@jaguNET.com In-Reply-To: <20000828143857.B18862@fw.wintelcom.net> from "Alfred Perlstein" at Aug 28, 2000 02:38:57 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Alfred Perlstein wrote: > > * Mike Meyer [000828 14:36] wrote: > > Alfred Perlstein writes: > > > * Steve Lewis [000828 11:53] wrote: > > > > On Mon, 28 Aug 2000, Alfred Perlstein wrote: > > > > > > What do you recommend for a web server if Apache is "entirely useless" may > > > > > > I ask? > > > > > Zues, thttpd, roxen, there's a lot out there that are a lot faster. > > > > > > > > > > Supposedly Zues is king. > > > > Do you happen to know what these do better than apache? > > > "everything", apache needs a process to handle each request > > > > Huh? That stopped being true a *long* time ago. Last time I looked at > > the default config, the number of requests a process would handle was > > set very low, but that is trivially fixable. > > I'm aware of the way that it keeps the processes around for to grab the > next request, it's still not good enough. It's the MaxRequestsPerChild > or something 'tunable'. > Different beast... MaxRequestsPerChild (actually, it's max connections per child, since it only counts the number of initial requests coming in. So a single request that "pipelines" 25 "keepalive" requests only counts as 1 more to the total) is there to keep a handle on memory leaks. The idea that after a child handles X requests/connections, sufficient memory may have leaked to bloat the memory footprint to something quite nasty :) To avoid this, the main httpd process will kill off a child after that many requests and spawn a new one. If the setting is very low, then Apache will be spending a lot of time killing and forking. Nowdays, it's pretty common for the setting to be something like 100,000 or higher or 0 (no limit). What _is_ true is that a process is required to respond to the request. The whole idea behind preforking is "ensuring" sufficient numbers that you don't need to fork new ones just when you start needing them ;) -- =========================================================================== Jim Jagielski [|] jim@jaguNET.com [|] http://www.jaguNET.com/ "Are you suggesting coconuts migrate??" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message