Investing on my multi-threads architecture, today my apache blocked!!
Two apache childs blocked and they were consuming all my CPU.
As soon as I discovered this problem, I tryed to do strace pids of childs:
futex(0x80d29b0, FUTEX_WAIT, 2, NULL) = -1 EAGAIN (Resource temporarily
unavailable)
It seems there is some problems with threads ....
Do you know if there is some known bugs with apr threads?
--Marco
-------- Original Message --------
Subject: Modules architecture diff
Date: Thu, 02 Mar 2006 12:33:52 +0100
From: Marco Spinetti <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED], dev@apr.apache.org
Hi all,
I'm experimentig some strange performance results for my modules and I
hope you can explain me why.
I made a test between two modules architecture: my modules have to
connect to variuos external sources simultaneously. So I tries these two
architectures:
1) No Blocking IO: I 'm using apr poll (apr_pollset_poll)
2) Multi threads: I'im using apr threads;
I'm using apache 1.3.34 and my host is RHEL 3 (Linux version
2.4.21-9.0.3.ELsmp) with 2 CPU and 2GB memory.
I was expecting that multi-threads architecture was better because with
apr_poll you read from opened descriptors a lot of times.
In architecture 2) I'm using apr pool for all my memory allocations,
while in the first architecture I'm using apache pool too.
Analyzing (with gsl) the distribution, the mean, variance and standard
deviation of reply time the No Blocking IO is much better: in the
multi-threads architecture the variance is greater by a factor of 10.
Any ideas about these differences?
Were my expectations wrong?
Thanks for the support
Bye
--Marco
--
+-----------------------------------------+
Software Engineer - Spinetti Marco
Direzione SS.PSM.TS
Mobile: +39 329 4424216
Fisso : +39 050 6184264
Fax : +39 050 6184244
E-mail: [EMAIL PROTECTED]
Italia Online S.r.l. Wind Telecomunicazioni Spa
Via Malagoli, 12 - 56124 Pisa PI
+-----------------------------------------+