Optimal Apache22 configuration

Tom Evans tevans.uk at googlemail.com
Thu Nov 22 06:27:20 PST 2007


On Thu, 2007-11-22 at 14:58 +0100, Marcio Cicero wrote:
> Hi Tom,
> 
> Thanks for your input.
> 
> As far as I can remember there were experimental support for kqueue
> polling events on apache2 which I remember as nice performance
> improvement. But unfortunately I can't find any info regarding kqueue
> for apache22. 
> 
> Is this possible for apache22?
> 
> TIA
> Regards,
> Marcio
> 
> ______________________________________________________________________
> > Subject: Re: Optimal Apache22 configuration
> > From: tevans.uk at googlemail.com
> > To: marcio29 at live.com
> > CC: freebsd-performance at freebsd.org; freebsd-questions at freebsd.org
> > Date: Thu, 22 Nov 2007 11:39:12 +0000
> > 
> > On Wed, 2007-11-21 at 19:49 +0100, Marcio Cicero wrote:
> > > Hello all,
> > > 
> > > Tomorrow i'll start configuring an apache22 server at work and
> I've been searching what's the best configuration for apache22 on
> apache.
> > > 
> > > Is it possible to use kqueue() support for apache22? Also, the
> best threading library around for apache22 on freebsd is libthr?
> > > 
> > > The best mpm for this kind of environment is still worker?
> > > 
> > > Is there any updated documentation on this matter?
> > > 
> > > Thanks in advance. 
> > > Regards,
> > > Marcio
> > > 
> > 
> > We use a pair of apache22 webservers in a round robin configuration
> at
> > work, doing proxying to app servers and serving static content for
> all
> > our websites, and they run very nicely indeed under the event MPM.
> This
> > is still marked as 'experimental' as apache, but the reason is that
> it
> > doesn't support accept filters or SSL yet (support is planned). If
> you
> > need SSL, I'd go for worker. If you need PHP, I'd go for prefork :)
> > 
> > We wanted a pair for redundancy and failover support, and we were
> unsure
> > one server could handle the load, but load tends to hover at about
> 0.1
> > on both boxes, and they tend to 'just work', which is nice :)
> > 
> > We use libthr, which works perfectly (as you would expect, lots of
> > apache devs run and recommend FreeBSD).
> > 
> > Cheers
> > 
> > Tom
> > 
> > 
> 

Hi Marcio

(Please don't top post, it destroys the logical flow of the
conversation :)

Apache 2.2 by default uses epoll() or kqueue() if it is available.
Indeed, it is mandatory for the event MPM to work correctly. From the 
event manual page: ( http://httpd.apache.org/docs/2.2/mod/event.html )

The MPM assumes that the underlying apr_pollset implementation is
reasonably threadsafe. This enables the MPM to avoid excessive high
level locking, or having to wake up the listener thread in order to send
it a keep-alive socket. This is currently only compatible with KQueue
and EPoll.

The use of kqueue is actually performed by the underlying apr
implementation, but I'm sure if it is available to apr, it will use it.

Regards

Tom

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-performance/attachments/20071122/6c6a36c4/attachment.pgp


More information about the freebsd-performance mailing list