RE: Optimal Apache22 configuration



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@xxxxxxxxxxxxxx
To: marcio29@xxxxxxxx
CC: freebsd-performance@xxxxxxxxxxx; freebsd-questions@xxxxxxxxxxx
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

Attachment: signature.asc
Description: This is a digitally signed message part



Relevant Pages

  • RE: Optimal Apache22 configuration
    ... As far as I can remember there were experimental support for kqueue ... Is this possible for apache22? ... it is mandatory for the event MPM to work correctly. ...
    (freebsd-questions)
  • RE: Optimal Apache22 configuration
    ... 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. ...
    (freebsd-performance)
  • RE: Optimal Apache22 configuration
    ... 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. ...
    (freebsd-questions)
  • Optimal Apache22 configuration
    ... 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? ...
    (freebsd-performance)
  • Optimal Apache22 configuration
    ... 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? ...
    (freebsd-questions)