Hi Jiri,

i am not sure what you are trying to do with ModPerl::RegistryLoader,
but what me helped to improve performance was :

1. Preload almost every library on startup:
PerlPostConfigRequire /xyz/startup.pl (

---------
use Apache2::RequestRec();
use Apache2::RequestIO();
use Apache2::RequestUtil();
use Apache2::ServerRec();
use Apache2::ServerUtil();
use Apache2::Connection();
use Apache2::Log();
use Apache2::Request();
use APR::Table();
#... and so on
----------
2. reused db connection over requests

3. using mmap cache for Data that comes from db

4. last but not least use HTTP cache Protocol with mod_cache

All together hundred of projects with hundreds of simultaneous requests are possible on only one server.
regards Keywan

Am 21.07.2011 21:58, schrieb Jiří Pavlovský:
On 21.7.2011 18:41, Perrin Harkins wrote:
So I was looking a solution and found ModPerl::RegistryLoader. I'm just not
sure I understand it completely. Is this the "compile once at startup"
solution?
Yes, that's what it's for.
Thanks, so I'm on correct track

Do I just put " my $rlbb = ModPerl::RegistryLoader->new();" into
my startup file?
Well, you need more than that.  Please read the man page and try it
out, and if you get stuck, come back and ask questions about the
specifics.

I did RTFM, but the man page was not clear to me, so I asked on the list.

Anyway, now I tried to implement something along the lines suggested in the synopsis:

   sub trans {
       my $uri = shift;
              return File::Spec->catfile(MY_DOC_ROOT, $uri);
   }
   my $rl = ModPerl::RegistryLoader->new(
       package => 'ModPerl::RegistryPrefork',
       trans   => \&trans,
   );

....
# these $apps are of the form '/cgi-bin/script.pl'
   foreach my $app (@apps) {
       $rl->handler($app);
   }

In addition I've few Location directives in httpd.conf to load few other scripts.

However this doesn't work as Apache is segfaulting.





--
*Keywan Ghadami*
Entwicklung und Sicherheit

*ibson*
Fritz-Arnold-Str. 23
D-78467 Konstanz

Telefon +49 (0)75 31 / 81 39 7 93
Fax +49 (0)75 31 / 81 39 7 89

Reply via email to