Fwd: Re: 2.3 upgrade on apache.org
Philip M. Gollucci
pgollucci at p6m7g8.com
Mon Jul 19 22:41:27 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
- -------- Original Message --------
Subject: Re: 2.3 upgrade on apache.org
Date: Sun, 18 Jul 2010 10:58:45 -0700
From: Paul Querna <paul at querna.org>
Reply-To: dev at httpd.apache.org
To: dev at httpd.apache.org
A small update:
We thought the load average was a little high, in the 70+ range. We
observed massive CPU usage from the httpd processes, but IO wise the
machine was fine -- tons of IO bandwidth to go around -- it seemed to
be something spinning inside httpd itself.
At first I thought it might of been the event mpm bug, so with the
awesome MPMs as a module, we switched to worker.
I dug out ktrace, and started seeing what we were doing.
Every httpd processes I looked at was spinning on sendfile:
33893 httpd CALL
33893 httpd RET sendfile -1 errno 35 Resource temporarily unavailable
ktrace/dtrace dumps available to any committer who wants to take a
look. A similar problem is described in this thread from 2002, about
running 2.0.x on Daedalus:
I've started tuning up the FreeBSD sysctls for network buffers etc,
but it didn't seem to have a significant effect.
We have now disabled Sendfile on apache.org, and the load average
dropped from ~80 to 0.35.
On Sun, Jul 18, 2010 at 3:08 AM, Paul Querna <paul at querna.org> wrote:
> www.apache.org is now running trunk @ r965127, using the Event MPM on
> FreeBSD 8.1, on a new x86 box.
> Previously it was running on Solaris 10, with 2.2.x on sparc t2000s.
> I have also enabled OCSP stapling on the SSL side:
> Anyways, I've made a list of the 2.3-ish issues seen during the upgrade.
> httpd itself:
> - Using the Define directive to enable SSL was a bad idea. The SSL
> init code was only being called once in post_config instead of twice
> This is only 'new' because the Define directive is new, so I tried to
> use it. Example of how it was used:
> <IfDefine MACHINE_NAME>
> Define SSL
> Listen 184.108.40.206:
> <IfDefine SSL>
> LoadModule ssl_module ..
> We do -D MACHINE_NAME at the command line, and I was hoping to just
> enable SSL from within the config file, but that didn't work. Adding
> -D SSL to the command line fixed the issue.
> - Lots of warnings in our configurations about "Ignoring deprecated
> use of DefaultType".
> - Infra already had lots of <IfVersion blocks for most 2.3 authn/z
> changes, and those seem to stil be working fine.
> 3rd party:
> - APR's detection of BDB was funky again, I had --with-dbm=db48, which
> it was happy about, but until I added --with-berkeley-db=/usr/local,
> it wouldn't actually compile up the shared objects for the DB DBM, but
> configure reported success.
> - mod_wsgi: Needed to comment out 2 lines debug logging, that were
> accessing server_rec->loglevel (which has been removed from 2.3.x).
> - mod_mbox/mod_allowmethods/mod_asf_cgi: Needed build system
> adjustments to not look for apr-util.
> Surprisingly painless upgrade after I figured out the mod_ssl config
> issue; Most of the work was around moving Solaris -> FreeBSD for our
> various rsyncs and crontabs, of course let infra know if you see
> anything busted!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)
-----END PGP SIGNATURE-----
More information about the freebsd-apache