From owner-freebsd-performance@FreeBSD.ORG Fri Feb 4 14:41:16 2005 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4BC4E16A4CE for ; Fri, 4 Feb 2005 14:41:16 +0000 (GMT) Received: from goofy.cultdeadsheep.org (charon.cultdeadsheep.org [80.65.226.72]) by mx1.FreeBSD.org (Postfix) with SMTP id 5F06A43D2F for ; Fri, 4 Feb 2005 14:41:14 +0000 (GMT) (envelope-from sheepkiller@cultdeadsheep.org) Received: (qmail 63570 invoked by uid 1000); 4 Feb 2005 15:41:12 +0100 Date: Fri, 4 Feb 2005 15:41:12 +0100 From: Clement Laforet To: Vladimir Vrzic Message-ID: <20050204144112.GA44383@goofy.cultdeadsheep.org> References: <1107510981.23035.17.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1107510981.23035.17.camel@localhost> User-Agent: Mutt/1.5.6i X-Mailman-Approved-At: Sat, 05 Feb 2005 13:16:42 +0000 cc: freebsd-performance@freebsd.org Subject: Re: Apache 2 on FreeBSD 5.3 X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Feb 2005 14:41:16 -0000 On Fri, Feb 04, 2005 at 10:56:21AM +0100, Vladimir Vrzic wrote: > On a FreeBSD 5.3 web server with a very high load, I recently switched > from Apache 1.3 and PHP 4.3 to using 2.0 with the prefork MPM and PHP 5. > I noticed a drop in perfomance. Did you find the bottleneck? > What is currently the best (in terms of > performance) choice for Apache w/ PHP on FreeBSD? Which MPM should I > use? Does worker MPM use KSE on FreeBSD 5 and does it perform better > than prefork? What about perchild and threadpool? Or maybe I should go > back to Apache 1.3? Are there any sysctl or kernel tunings that I should > use? - Notes on MPM's: Currently, you can expect good performance with prefork and worker. perchild is b0rked and threadpool is experimental. - Using apache2 with PHP is *safe* with prefork. - worker MPM use KSE and performs well, with a custom apache2 (see options for apache2 port), in some cases, worker MPM outperforms prefork one. - If you use apache2 in ports tree, you can try apr_poll() patch which supports kqueue, define WITH_EXPERIMENTAL_PATCHES. It's pretty stable and improves significantly apache reponsivness. clem