perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Badai Aqrandista" <>
Subject apache children waits for each other? (was: Re: web application speed problem)
Date Tue, 16 Aug 2005 01:25:31 GMT
Hi all,

My mod_perl web app uses memcached to cache most of the (MySQL) database 
query results and as the session storage (Apache::Session::Memcached). When 
doing performance tests with httperf, I found that apache processes waits 
for each other. I mean: all requests are accepted (apache forks off lots of 
children), then processed (no process finishes), and after a while, all the 
processes finish almost at the same time...

If I put warns in the apache handler's start and end, it gives this output 
(edited for brevity, md5 hash in the end is the session ids, just disregard 

... output from 90+ of other warns...

Start process 30324: Tue, 16 Aug 2005 11:00:23 
Start process 30326: Tue, 16 Aug 2005 11:00:23 
Start process 30325: Tue, 16 Aug 2005 11:00:23 
Start process 30314: Tue, 16 Aug 2005 11:00:23 

... after a while, suddenly the following output comes out ...

End process 29803: Tue, 16 Aug 2005 11:05:47 
End process 30337: Tue, 16 Aug 2005 11:05:49 
End process 30002: Tue, 16 Aug 2005 11:05:49 
End process 30003: Tue, 16 Aug 2005 11:05:51 

... output of other 90+ warns ...

It's like they are not processed concurrently. I wonder why does it happen? 
Is it memcached? Or is it how apache works? Or is it because of the 
benchmarking application that I use?


Badai Aqrandista
Cheepy (?)

SEEK: Over 80,000 jobs across all industries at Australia's #1 job site.

View raw message