You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jean-Jacques Clar <JJ...@novell.com> on 2004/01/07 22:49:15 UTC
2.0.48 worker mpm on RH3 NPTL results
Attached are 2.0.48 numbers on RH AS 2.1 and 3.0.
Apache is build with worker MPM and default options on both versions.
C:
Apache is servicing more requests per sec on 2.1 on 1 and 2 CPUs, 3.0
is picking up the slack between 2 and 4 CPUs.
Prefork still serving static requests faster than worker (6300 req/sec
on RH 2.1 on 8 CPUs).
I was expecting better results on 3.0, 1 and 2 CPUs results are
disapointing to me.
Q:
No tweaking was done on both versions of RH.
Should I try using special config parms that will help the NPTL?
JJ
Re: 2.0.48 worker mpm on RH3 NPTL results
Posted by Joe Orton <jo...@redhat.com>.
On Wed, Jan 07, 2004 at 02:49:15PM -0700, Jean-Jacques Clar wrote:
> Attached are 2.0.48 numbers on RH AS 2.1 and 3.0.
> Apache is build with worker MPM and default options on both versions.
>
> C:
> Apache is servicing more requests per sec on 2.1 on 1 and 2 CPUs, 3.0
> is picking up the slack between 2 and 4 CPUs.
> Prefork still serving static requests faster than worker (6300 req/sec
> on RH 2.1 on 8 CPUs).
> I was expecting better results on 3.0, 1 and 2 CPUs results are
> disapointing to me.
>
> Q:
> No tweaking was done on both versions of RH.
> Should I try using special config parms that will help the NPTL?
HyperThreading enabled or not when limited to 1/2 CPUs, if these are HT
CPUs? That can make a difference (either way) when benchmarking IIRC.
Regards,
joe
Re: 2.0.48 worker mpm on RH3 NPTL results
Posted by Brian Akins <ba...@web.turner.com>.
In our testing RH3 was horrible -- worse than 2.1. However, a system
with a stock 2.6 kernel with glic2.3.3 with nptl performed comfortable
better than 2.1
YMMV
--
Brian Akins
Senior Systems Engineer
CNN Internet Technologies
Re: 2.0.48 worker mpm on RH3 NPTL results
Posted by Scott Lamb <sl...@slamb.org>.
On Jan 12, 2004, at 10:45 AM, gregames@apache.org wrote:
> What did you use for ThreadsPerChild? The default? It's 25. The
> reason I ask is I did some scalability measurements maybe a year ago
> and saw a lot of CPU usage in linuxthreads with a high number (maybe
> 1000) for ThreadsPerChild. It was in some pthread mutex unlock
> function, doing a serial search for the highest priority thread to
> wake up. This is pointless in our case because all the worker threads
> are the same priority. I'm hoping that this problem is fixed in the
> new pthread library, but haven't verified it.
NPTL, for better or for worse, does not honor priorities. Quoting from
<http://people.redhat.com/drepper/nptl-design.pdf>:
Realtime support is mostly missing from the library implementation. The
system calls to select scheduling parameters are available but they
have not effects. The reason for this is that large parts of the kernel
do not follow the rules for realtime scheduling. Waking one of the
threads waiting for a futex is not done by looking at the priorities of
the waiters.
Scott Lamb
Re: 2.0.48 worker mpm on RH3 NPTL results
Posted by gr...@apache.org.
Jean-Jacques Clar wrote:
> Attached are 2.0.48 numbers on RH AS 2.1 and 3.0.
> Apache is build with worker MPM and default options on both versions.
Thanks for posting these measurements. I was happy to see that performance
stays pretty flat as the system got overloaded. The AS 3.0 8 CPU curve sags a
little but it's not too bad.
What did you use for ThreadsPerChild? The default? It's 25. The reason I ask
is I did some scalability measurements maybe a year ago and saw a lot of CPU
usage in linuxthreads with a high number (maybe 1000) for ThreadsPerChild. It
was in some pthread mutex unlock function, doing a serial search for the highest
priority thread to wake up. This is pointless in our case because all the
worker threads are the same priority. I'm hoping that this problem is fixed in
the new pthread library, but haven't verified it.
> C:
> Apache is servicing more requests per sec on 2.1 on 1 and 2 CPUs, 3.0 is
> picking up the slack between 2 and 4 CPUs.
> Prefork still serving static requests faster than worker (6300 req/sec
> on RH 2.1 on 8 CPUs).
I'm very curious to know why prefork is beating worker. Could you get a profile
of the CPU usage for both cases? I've had good luck with oprofile. I had a
little trouble compiling its kernel module on RH AS 2.1 due to 2.5 kernel
features that RedHat backported, but you can edit oprofile's module/compat.h to
get around that.
Greg