httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)" <>
Subject Regarding worker MPM and queue_push/pop
Date Thu, 04 Dec 2003 07:38:25 GMT
	I'm trying to run the SPECweb99 against Apache (on a 1-way box).

I noticed that if I start one server process with a large number of threads
(1000), the server goes into a heavily sleep state (with around 80 % idle

A first guess is that I'm using SysV semaphores, and a semlock can bring
down the entire httpd to crawl. I'm re-compiling using pthread mutexes
whenever possible.

I took a gprof on the system, and noticed that httpd was sleeping on a
condition - the first guess ap_queue_pop () !!..(anything else ?). 
Question : Has anybody done some sort of profiling on the ap_queue_* stuff -
if so, can you please share the data ? 

I had another dumb question - (was this already considered and rejected ?)
instead of having the worker threads compete for the incoming connections
(using ap_queue_pop .. and hence mutex_lock), assign the connection to the
next free thread on a round-robin basis - if I'm not wrong, zeus does
something similar.


View raw message