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 them):

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

Start process 30324: Tue, 16 Aug 2005 11:00:23 EST,af263d03f531584c4d05c7f3df55c7d4 Start process 30326: Tue, 16 Aug 2005 11:00:23 EST,931f8a3a2de409fb3285c3bd038ec7b6 Start process 30325: Tue, 16 Aug 2005 11:00:23 EST,48ca7271dab9037f3a7426a6a68789e5 Start process 30314: Tue, 16 Aug 2005 11:00:23 EST,259709a683879491498cb81055466948

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

End process 29803: Tue, 16 Aug 2005 11:05:47 EST,dc7e7c893f0ee15b0b6c94d061f9493c End process 30337: Tue, 16 Aug 2005 11:05:49 EST,73f520865a13715e02d183c5cbb920d4 End process 30002: Tue, 16 Aug 2005 11:05:49 EST,cbfb00260afade004d3cc3086f425272 End process 30003: Tue, 16 Aug 2005 11:05:51 EST,b84da97b68df5f54e336a7767d64a1f8

... 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?

Thanks...

---
Badai Aqrandista
Cheepy (?)

_________________________________________________________________
SEEK: Over 80,000 jobs across all industries at Australia's #1 job site. http://ninemsn.seek.com.au?hotmail

Reply via email to