httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject Re: svn commit: r749438 - in /httpd/httpd/trunk: CHANGES support/ab.c
Date Mon, 02 Mar 2009 21:45:30 GMT
On Mon, Mar 2, 2009 at 4:17 PM, <> wrote:

> Author: trawick
> Date: Mon Mar  2 21:17:43 2009
> New Revision: 749438
> URL:
> Log:
> ab: Fix maintenance of the pollset to resolve EINPROGRESS errors
> with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris).

I tested with APR trunk on Linux and OpenSolaris, and APR 1.4.x on OS X.

Slightly more CPU is now consumed with the select() backend on Linux and
OpenSolaris (not surprising, since that backend didn't need the pollset to
be so carefully maintained).  There's probably similar degradation with
poll(), but it seemed a tossup in my casual checks of system and user space

It looked to me that less CPU is now used with the epoll backend.

The former "excessive" CPU with event ports was so by a factor of 4 or 5,
almost all in user space.

Thanks to Mladen for drastically reducing the number of required builds for
testing different pollset backends!

I get a small percentage of length mismatches on OS X with keepalive mode,
but that happens for me with the 2.0.x branch on OS X as well.  I also see
an occasional timeout failure on OS X.

https was only lightly tested.

(I don't really like ab beyond the fact that it is always in reach, but it
was a nice pollset testcase.)

View raw message