Hi All, Our company planning to move from Perl/CGI to mod_perl. But when we test, mod_perl is slower than mod_cgi.
I test with these script: # TESTING SCRIPT 1 use Time::HiRes qw(usleep ualarm gettimeofday tv_interval); $t0 = [gettimeofday]; # CODE HERE $t1 = [gettimeofday]; $t0_t1 = tv_interval $t0, $t1; $elapsed = tv_interval ($t0, [gettimeofday]); $elapsed = tv_interval ($t0); print "$elapsed sec\r\n"; And # TESTING SCRIPT 2 use Benchmark; timethis (1000, sub { # CODE HERE } ); Both result are same, mod_perl is slower than mod_cgi. How to make it faster? I already tried to pre-load the modul when apache start with startup.pl but no effect. Here is my httpd.conf Alias /perl/ /var/www/cgi-bin/ Perlrequire /var/www/cgi-bin/startup.pl PerlModule Apache::Registry <Location /perl> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI allow from all PerlSendHeader On </Location> Here is my startup.pl #/usr/bin/perl use strict; # make sure we are in a sane environment. # ENV{GATEWAY_INTERFACE} =~ /^CGI-Perl/ or die "GATEWAY_INTERFACE not Perl!"; use Apache::Registry(); # for things in the "/programs" URL # pull in things we will use in most requests so it is read and compiled # exactly once use Apache::RegistryLoader(); Apache::RegistryLoader->new->handler("/perl/timeres.pl","/var/www/cgi-bin/timeres.pl"); use CGI (); CGI->compile(':all'); #use CGI::Carp (); use DBI (); use DBD::mysql (); 1; Any help would be appreciate. Thank you, Ricky