You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Gazzali Jaleel <ba...@bac2bac.com> on 2021/03/19 23:17:30 UTC

Re: Moving ExecCGI to mod_perl - performance and custom 'modules'

Porting code from CGI to mod_perl is a fun project.

This is a late reply to your original post but wanted to point out an 
excellent resource - the Practical mod_perl book. The link for the book 
on the mod_perl site (perl.apache.org) is broken but you can find it at 
https://modperl2book.org/mp1/. It was written when mod_perl 1 was in use 
but the concepts explained are still valid. Be aware there was some 
renaming in mod_perl 2. For example, Apache::Registry became 
ModPerl::Registry.

Chapter 6, "Coding with mod_perl in mind" is full of good stuff about 
what to watch out for as you refactor your code for mod_perl, including 
the problem with __DATA__ that you had (from a later post). In fact, the 
whole book is a great read. I highly recommend skimming through it and 
reading in detail as you see fit.


On 2/6/2021 4:59 PM, Steven Haigh wrote:
> Hi all,
> 
> So for many years I've been slack and writing perl scripts to do various 
> things - but never needed more than the normal apache +ExecCGI and 
> Template Toolkit.
> 
> One of my sites has become a bit more popular, so I'd like to spend a 
> bit of time on performance. Currently, I'm seeing ~300-400ms of what I 
> believe to be execution time of the script loading, running, and then 
> blatting its output to STDOUT and the browser can go do its thing.
> 
> I believe most of the delay would be to do with loading perl, its 
> modules etc etc
> 
> I know that the current trend would be to re-write the entire site in a 
> more modern, daemon based solution - and I started down the Mojolicious 
> path - but the amount of re-writing to save 1/3rd of a second seems to 
> be excessive
> 
> Would I be correct in thinking that mod_perl would help in this case?
> 
> I did try a basic test, but I have a 'use functions' in all my scripts 
> that loads a .pm with some global vars and a lot of common subs - and 
> for whatever reason (can't find anything on Google as to why), none of 
> the subs are recognised in the main script when loaded via ModPerl::PerlRun.
> 
> So throwing it out to the list - am I on the right track? wasting my 
> time? or just a simple mistake?
> 
> --
> Steven Haigh 📧 netwiz@crc.id.au <ma...@crc.id.au>💻 
> https://www.crc.id.au <https://www.crc.id.au/>