In the list of all modules you are using in your application, are you
sure that all modules are thread-safe ? If only one is not
thread-safe, you may encounter an error at a time while running your
application ?
For my part, I use mainly CPAN libraries. This includes:
HTML::Template
DBI
DBD::ODBC
DBD::MySQL
XML::Simple
Apache::DBI
I suspect DBI may not be thread-safe (at least I don't know how to share
a DBI object across threads), but since I doing connection pooling via
Apache::DBI, I suppose it helps.
The problem with Apache restarting itself, is that it is not predictable
at all. I created a simple app that uses all of the above libraries, and
hit the page 10,000 times. It's still fine. But then again, the test is
overly simplistic...
I'd never found a way to configure apache 2 + mod_perl 2 to work in a
pre-forked environment on windows. Is there anyone who knows if it's
possible ?
Stéphane