Hey Guys,
So I've been doing some testing of Bricolage with mod_perl 1.31rc7 and
with mod_perl 2.04 (and Perl 5.10 and Apache 1.3.41 and 2.2.11), and
I'm finding something very strange: Apache is *very* slow to start
when mod_perl is a DSO.
The bit that's slow, curiously, is this:
PerlModule Bric::App::ApacheConfig
What that module does is load all of the Bricolage Perl modules and
dependencies, generate some virtual host configuration, and then
either insert it into $Apache::ReadConfig::Include (under mod_perl 1)
or write it to a file and include it from httpd.conf using the Include
directive. Under statuc mod_perl 1, this all happens very fast;
Bricolage starts up in a couple of seconds at most. But under
mod_perl1 with a DSO or mod_perl2 (also a DSO), it's very slow: 25-30
seconds. If I comment-out the Bric::App::ApacheConfig call, it's fast
again (although Bricolage is not, of course, properly configured).
Now, the really odd thing is that Bric::App::ApacheConfig seems to run
just fine, and quickly, no matter what. If I put some `print STDERR`
statements at the end of it, they're output to the log very quickly.
If I put another PerlModule after the Bric::App::ApacheConfig one, and
just have *it* print to STDERR, that's also very quick. So something
is happening after it runs. Or so it seems.
So, anyone have any idea what might be happening here? I've been
battling this for hours and I'm completely stumped. FWIW, I'm on Mac
OS X 1.10.5 (Darwin Kernel Version 9.6.0).
Thanks for any insights. I'm going to see if I can break this on my
Ubuntu server, too.
Best,
David
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org