httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Ames <>
Subject Re: Performance numbers..... ;(
Date Fri, 17 Aug 2001 14:18:19 GMT
"Victor J. Orlikowski" wrote:
> Hi all,
> Was running some performance tests on AIX...
> And oddities popped up between 1.3 and 2.0 (latest CVS of both).
> Requests/sec.
>                     no keepalive          keepalive
> 2.0 - prefork          420                  590
> 2.0 - threaded         390                  580
> 1.3                    420                  700


Now we're going to have to beat you with a stick.  You didn't mention
what kind of workload you're running.  Are you serving a static file? 
How big?  These things are important to know when analyzing benchmark

I'm guessing you're serving a smallish static file.  The Magic 8-ball at said "Without a doubt" when I asked this

If ssi's were working, and you were measuring them, I think we would see
2.0 look a lot worse compared to 1.3, and threaded worst of all, because
we don't have a fast mutex-free replacement for malloc/free yet <sigh>. 
For the buckets code, having some kind of connection lifetime apr_pool
might be good enough, if we had a way to terminate keepalive connections
that ate too much memory.  But we need a good apr_malloc/free for other
stuff anyway, like caching.

I'm thinking it might be worth the effort to have some kind of
apr_compare_and_swap primitive.  Yes, it would involve writing a little
assembler code for the different CPU architectures, which Apache hasn't
done before AFAIK.  But let's say we got past that and had it
available.  We could use it to create:

* apr_push/pop, which could be used for memory block allocators
(apr_pools and apr_malloc),  and
* apr_atomic_add, which could be used to safely increment and decrement
shared counters etc.,

all without mutexes.  


p.s. just kidding about the stick

View raw message