From owner-freebsd-hackers Fri Nov 21 08:03:25 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA17189 for hackers-outgoing; Fri, 21 Nov 1997 08:03:25 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from anlsun.ebr.anlw.anl.gov (anlsun.ebr.anlw.anl.gov [141.221.1.2]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id IAA17182 for ; Fri, 21 Nov 1997 08:03:19 -0800 (PST) (envelope-from cmott@srv.net) Received: from darkstar.home (dialin2.anlw.anl.gov [141.221.254.102]) by anlsun.ebr.anlw.anl.gov (8.6.11/8.6.11) with SMTP id JAA28104; Fri, 21 Nov 1997 09:03:12 -0700 Date: Fri, 21 Nov 1997 09:02:39 -0700 (MST) From: Charles Mott X-Sender: cmott@darkstar.home To: Eivind Eklund cc: Eivind Eklund , hackers@FreeBSD.ORG Subject: Re: Serious performance issue with 2.2.5-RELEASE In-Reply-To: <19971121162718.13505@bitbox.follo.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Fri, 21 Nov 1997, Eivind Eklund wrote: > On Fri, Nov 21, 1997 at 08:23:58AM -0700, Charles Mott wrote: > > > You've not had any problems with 2.2.2? We've been having problems > > > with 4-5 seconds random hangs on our 2.2.2 webservers, which seems to > > > occur mostly on static pages. > > > > If you're using the apache web server, it has some fairly elaborate > > pre-forking and process control. I wouldn't be entirely surprised to see > > it have delays if it were near the fork limit or that the number of spare > > processes waiting for requests is not large enough. > > Yes, it is with apache. It is running with no limits, and with > MAXUSERS=100 (up from 10, which had the same problems). The same > Apache config (exactly) under 2.1-STABLE showed no problems :-( > If MinSpareServers is not large enough, there can be a one second delay in creating new processes, but this does not explain the 4-5 second delay you are experiencing. So I think you are seeing something interesting here. One thing to do is to put some debug lines in http_main.c, to see where it might be hanging up. I see three possible areas: (1) hangup at select(), (2) hangup due to advisory locking, or (3) new processes cannot be forked rapidly enough. [Note: I am not an expert in Apache and have no personal use for it, but I have been looking at the code to create a generic, semi-object oriented (C not C++) process management module. I'll e-mail it to anyone who is interested.] -- Charles Mott