http://www.perlmonks.org?node_id=987730

DreamT has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
Consider the following code:
# Doing some stuff # .... use CGI::Fast while ($query = new CGI::Fast) { # Doing some stuff # ..... # Calling a subroutine that doesn't exist, in some cases (if $a_condition == 1) { &Undefined_Subroutine(); } } ...
The code above will of course throw an error since we're calling a subroutine that doesn't exist. But, I think that I may have spotted a behaviour that doen't make sense. It seems like one ore more Apache processes are spawned when this happens, which in some cases leads to performance degradation for everyone that uses this script when it happens (consider that a lot of calls are made to the script that produces the same error).

My questions are:
1. Do you think that this behaviour exists, i.e. that a crashing script creates a performance degradation caused by many concurring Apache instances of the script?
2. If so, could we add/change something to avoid it? Removing the erroneous code (or eval'ing it) is a solution of course, I'm rather thinking of the behaviour itself, as a fallback.
3. Do you have any other FastCGI "tweaks" that you'd like to share?