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

Reply via email to