httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: OSDLab projectL Accept() locking on large (6+ CPU) boxes
Date Tue, 24 Jul 2001 19:13:55 GMT
Some folks in the Websphere performance team did some benchmarking on machines from Sun
all the way up to 8-ways. Victor was feeding them Apache builds to play with. We tried the
following accept locks: fcntl, native Solaris, sysv, pthread.  fcnlt was slowest on all
machines with 4 CPUs or less.  fcntl was the fastest on the 8 way machine.  sysv, pthread
and native Solaris locks all appeared to actually degrade performance as CPUs were added
and in the same way which leads me to believe that sysv, pthread and native Solaris locks
are all the same implementation under the covers.

We did the same tests with AIX. I am not advertising here, but Apache on AIX using pthread
mutexes kicks Solaris butt big time on the 8 way (and above) machines. Apache performance
on AIX 8 way machines is MUCH better than Solaris. Each OS has strengths and weaknesses
and it appears that Solaris is very weak in cross process locking on n-way machines. So I
would say that the problem is Sun specfic. Haven't done similar measurements with Linux.


> Folks,
> Some time ago Sander Temme did some tests to certify Covalent's Apache/SSL
> product as part of the SunTone program.
> Part of that entails running it on anything from a tiny SUN Ultra T1 all
> the way up to 8 way big iron.
> We found that, for purely static content, the default locking mechanisms
> where far from ideal. And in fact that we had a hard time saturating
> machines from small to large with the single configuration across the
> whole range of Sun machines.
> After playing with some locking strategies we now suspect that this
> actually might not be sun specific; but a general multi processor (6 way
> and above) box issue.
> So we've proposed a small project to the the Open Software Developer Lab
> (  to do some careful measuring and tuning attempts across
> a _range_ of 1 CPU .. 16 CPU boxes with different locking mechanisms (on
> Linux in their case). We expect to find that some mechanisms are good for
> few CPU's and some for a lot of CPU's. (And we obviously will experiment
> with various types of loads, client-rtt's, etc, etc to understand what is
> happening).
> In any case; we'll report back here on the list what we find; hopefully
> backed by a patch if we can make apache do better.
> If you have any suggestions, comments; send them either to this list; or
> send them to Sander <> or me - and we'll make sure
> they get summarized.
> If they turn out to be large questions ... well then we'll just need ask
> the OSDLab for some more time or propose a new project.
> But we wanted to keep our first project as simple as possible - and to
> keep its scope small and timeline short.
> Dw.

View raw message