I recently migrated my perl/CGI.pm scripts from an IIS server to Apache 1.3.28 on the same Win2k server. I saw immediate speed improvements using Apache::PerlRun.
Using 'practical mod_perl' as a guide I modified httpd.conf so that I could access my scripts using mod_cgi, Apache::Registry, or Apache::PerlRun by changing the URI. Here is the perl section of my config file: ### BEGIN httpd.conf excerpt ### ScriptAlias /serverdb/slow "E:/Inetpub/mod_serverdb/cgi-bin" Alias /serverdb/cgi-bin "E:/Inetpub/mod_serverdb/cgi-bin" Alias /serverdb/perl "E:/Inetpub/mod_serverdb/cgi-bin" PerlModule Apache::PerlRun PerlModule Apache::Registry PerlModule Apache::DBI <Location /serverdb/cgi-bin> SetHandler perl-script PerlHandler Apache::PerlRun Options ExecCGI PerlSendHeader On Allow from all </Location> <Location /serverdb/perl> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI PerlSendHeader On Allow from all </Location> ### END httpd.conf excerpt ### My application seemed slower with Resistry! Using curl to get more accurate statistics I found Registry to be almost 2-3x slower than PerlRun. ### BEGIN sample stats ### [EMAIL PROTECTED] root]# date +%M.%S.%N; curl -b cookies.txt -c cookies.txt http://usvwoaahs52:8080/serverdb/cgi-bin/devlist.pl > /dev/null; date +%M.%S.%N; 29.41.134877000 % Total % Received % Xferd Average Speed Time Curr. Dload Upload Total Current Left Speed 100 421 0 421 0 0 295 0 --:--:-- 0:00:01 --:--:-- 1042 29.42.581020000 [EMAIL PROTECTED] root]# date +%M.%S.%N; curl -b cookies.txt -c cookies.txt http://usvwoaahs52:8080/serverdb/perl/devlist.pl > /dev/null; date +%M.%S.%N; 29.53.880311000 % Total % Received % Xferd Average Speed Time Curr. Dload Upload Total Current Left Speed 100 834k 0 834k 0 0 259k 0 --:--:-- 0:00:03 --:--:-- 379k 29.57.111910000 ### END sample stats ### My application is pretty typical CGI.pm/DBD::Mysql fare. I am also using HTML::Template with caching turned on. Does anyone have an idea of what might be going on? Where should I start? I have been reading up on performance issues and profiling code, but this seems much higher level. I can't find any references with anyone else having this experience. Thanks! -Todd