httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Mason <>
Subject (unix) threading and caching default handler
Date Thu, 10 Dec 1998 01:07:37 GMT

This is a feeler to see who's working on similar tasks, and who might be
interested on some recent change's I've made to apache 1.3.3.

I'd like to multithread v1.3.3.  Is there anyone currently working on this
and willing to share?  If not, anyone interested in helping/testing/porting?
I read that it is planned for v2.0, but wasn't sure what the time frame was.

I've written an in memory file cache for the default_handler() in
http_core.c.  It works via shared mmap'd regions and DCE pthread mutex
locking.  Filenames are stored/retrieved via a hash table, and cache data is
stored via a bucket system (sized with config directives).  The code is
still very beta, and has only been tested on DEC Unix v4.0d

A replay of our access logs through a test server gave ~40% cache hit rate.
To test performance, I setup 20 readers doing a replay of yesterday's access
log (CGIs removed).  Without the cache, I averaged 300 hits per second and
about 6 MB/s transfer rate.  With the cache, I averaged 400 hits/s and about
7.5MB/s transfer rate.  File sizes ranged from < 100 bytes to over 1MB.
Tests were on a 533mhz alpha with 1GB of ram over an NFS filesystem (crappy,
I know).  System load during both tests hovered around 28.   The cache size
was about 50MB.

The results are not as good as I had hoped, but that server is giving most
of its ram to filecache.  If people are interested, I can make the code
available.  Right now, it is a patch to http_core.c.  I'm open to
suggestions if people think it belongs somewhere else.


View raw message