On Tue, 30 Aug 2005, Foo Ji-Haw wrote:
Hi all,
I have a small setup development setup on a Windows 2000
Server+Apache 2+ActivePerl 5.8.6+mod_perl 2.0.1. With a
setting of 5 threads per child.
I have 3 external clients hitting the server
simultaneously doing batch SOAP calls, plus my local web
browser which I browse around my mp2 site looking at the
SOAP call statistics as they happen. Once in a while,
Apache will cause a dialog box with the message
(attached): The instruction at "0x2808771f1" referenced
memory at "0x318e0c0". The memory could not be "read".
Looking at the Apache error log, I get this message:
[warn] Server ran out of threads to serve requests.
Consider raising the ThreadsPerChild setting
The good news is that after clicking away the dialog box,
Apache is back up on its own.
Question is, why must the dialog box pop up? This is a bad
thing, as it causes my web applications to hang until
someone comes along to close the dialog box. Evidently,
Apache is capable of restarting when it is under load (not
difficult when you have only 5 threads). I have created
some 3-4 mp2 apps and they all display the dialog box when
under load.
Perhaps I missed out something here. Can anyone enlighten
me on this? Thanks.
I don't think this is controllable within mod_perl, as the
error is coming from the Apache side, and would happen
under a suitable load for non-mod_perl applications.
Is there a reason you can't increase ThreadsPerChild?
The default for WinNT MPM is 250, at least for recent
Apache2 versions.
--
best regards,
randy kobes