Apache-ASP

 view release on metacpan or  search on metacpan

ASP.pm  view on Meta::CPAN

be auto filled with data from $Request->Form.  This feature
requires HTML::FillInForm to be installed.  Please see
the FormFill CONFIG for more information.

This setting overrides the FormFill config at runtime
for the script execution only.

=item $Response->{IsClientConnected}

1 if web client is connected, 0 if not.  This value
starts set to 1, and will be updated whenever a
$Response->Flush() is called.  If BufferingOn is
set, by default $Response->Flush() will only be
called at the end of the HTML output.  

As of version 2.23 this value is updated correctly
before global.asa Script_OnStart is called, so 
global script termination may be correctly handled
during that event, which one might want to do 
with excessive user STOP/RELOADS when the web 
server is very busy.

An API extension $Response->IsClientConnected
may be called for refreshed connection status
without calling first a $Response->Flush

ASP.pm  view on Meta::CPAN

This method could also be used to render other types of dynamic scripts,
like XML docs using XMLSubs for example, though for complex
runtime XML rendering, one should use something better suited like XSLT.
See the $Server->XSLT API for more on this topic.

=item $Response->IsClientConnected()

API Extension.  1 for web client still connected, 0 if 
disconnected which might happen if the user hits the stop button.
The original API for this $Response->{IsClientConnected}
is only updated after a $Response->Flush is called,
so this method may be called for a refreshed status.

Note $Response->Flush calls $Response->IsClientConnected
to update $Response->{IsClientConnected} so to use this
you are going straight to the source!  But if you are doing
a loop like:

  while(@data) {
    $Response->End if ! $Response->{IsClientConnected};
    my $row = shift @data;
    %> <%= $row %> <%
    $Response->Flush;
  }

Then its more efficient to use the member instead of 
the method since $Response->Flush() has already updated
that value for you.

=item $Response->Redirect($url)

Sends the client a command to go to a different url $url.  
Script immediately ends.

=item $Response->TrapInclude($file, @args)

Calls $Response->Include() with same arguments as

ASP.pm  view on Meta::CPAN

=head2 Online Resources

For more tips & tricks on tuning Apache and mod_perl, please see the tuning
documents at:

  Stas Bekman's mod_perl guide
  http://perl.apache.org/guide/

Written in late 1999 this article provides an early look at 
how to tune your Apache::ASP web site.  It has since been
updated to remain current with Apache::ASP v2.29+

  Apache::ASP Site Tuning
  http://www.apache-asp.org/articles/perlmonth3_tune.html

=head2 Tuning & Benchmarking

When performance tuning, it is important to have a tool to
measure the impact of your tuning change by change.
The program ab, or Apache Bench, provides this functionality
well, and is freely included in the apache distribution.

ASP.pm  view on Meta::CPAN


 - Fixed 'application/x-www-form-urlencoded' for AJAX POSTs post
   Firefox 3.x

 + First sourceforge.net hosted version

 + Incremented version number to actually match SVN branch tag

=item $VERSION = 2.61; $DATE="05/24/2008"

 - updated for more recent mod_perl 2 environment to trigger correct loading of modules

 + loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09

 + license changes from GPL to Perl Artistic License

=item $VERSION = 2.59; $DATE="05/23/2005"

 + added "use bytes" to Response object to calculate Content-Length
   correctly for UTF8 data, which should require therefore at least
   perl version 5.6 installed

 + updated to work with latest mod_perl 2.0 module naming convention,
   thanks to Randy Kobes for patch

 + examples now exclude usage of Apache::Filter & Apache::SSI under mod_perl 2.0

=item $VERSION = 2.57; $DATE="01/29/2004"

 - $Server->Transfer will update $0 correctly

 - return 0 for mod_perl handler to work with latest mod_perl 2 release
   when we were returning 200 ( HTTP_OK ) before

ASP.pm  view on Meta::CPAN

   now instead of $r->cgi_header_out.  Added t/cookies.t test to 
   cover new code path as well as general $Response->Cookies API.
   Also make cookies headers sorted by cookie and dictionary key 
   while building headers for repeatable behavior, this latter was 
   to facilitate testing.

 - fixed $Server->Mail error_log output when failing to connect
   to SMTP server.

 + added tests to cover UniquePackages & NoCache configs since this
   config logic was updated

 + made deprecated warnings for use of certain $Response->Member
   calls more loudly write to error_log, so I can remove the AUTOLOAD
   for Response one day

 - Probably fixed behavior in CgiHeaders, at least under perl 5.8.0, and
   added t/cgi_headers.t to cover this config.

 + removed $Apache::ASP::CompressGzip setting ability, used to possibly
   set CompressGzip in the module before, not documented anyway

ASP.pm  view on Meta::CPAN

 -XMLSubs args parsing fix so an arg like z-index
  does not error under UseStrict.  This is OK now:

   <my:layer z-index=3 top=0 left=0> HTML </my:layer>

 -Only remove outermost <SCRIPT> tags from global.asa
  for IIS/PerlScript compatibility.  Used to remove
  all <SCRIPT> tags, which hurt when some subs in globa.asa
  would be printing some JavaScript.

 +$Response->{IsClientConnected} now updated correctly 
  before global.asa Script_OnStart.  $Response->IsClientConnect()
  can be used for accurate accounting, while 
  $Response->{IsClientConnected} only gets updated
  after $Response->Flush().  Added test cases to response.t

 +$Server->HTMLEncode(\$data) API extension, now can take
  scalar ref, which can give a 5% improvement in benchmarks
  for data 100K in size.

 -Access to $Application is locked when Application_OnEnd & 
  Application_OnStart is called, creating a critical section
  for use of $Application

ASP.pm  view on Meta::CPAN

  Buffering is enabled by default, as it is faster, and
  allows a script to error cleanly in the middle of execution.  

 +more bullet proof loading of Apache::Symbol, changed the 
  way Apache::ASP loads modules in general.  It used to 
  check for the module to load every time, if it hadn't loaded
  successfully before, but now it just tries once per httpd,
  so the web server will have to be restarted to see new installed
  modules.  This is just for modules that Apache::ASP relies on.

  Old modules that are changed or updated with an installation
  are still reloaded with the StatINC settings if so configured. 

 +ASP web site wraps <font face="courier new"> around <pre>
  tags now to override the other font used for the text
  areas.  The spacing was all weird in Netscape before
  for <pre> sections.

 -Fixed Content-Length calculation when using the Clean
  option, so that the length is calculated after the HTML
  is clean, not before.  This would cause a browser to 

ASP.pm  view on Meta::CPAN


 +Implemented $Response->{PICS} which if set sends out a PICS-Label
  HTTP header, useful for ratings.

 +Implemented $Response->{CacheControl} and $Response->{Charset} members.
  By default, CacheControl is 'private', and this value gets sent out
  every request as HTTP header Cache-Control.  Charset appends itself
  onto the content type header.

 +Implemented $Request->BinaryRead(), $Request->{TotalBytes},
  documented them, and updated ./eg/form.asp for an example usage. 

 +Implemented $Response->BinaryWrite(), documented, and created
  and example in ./eg/binary_write.htm

 +Implemented $Server->MapPath() and created example of its use
  in ./eg/server.htm

 -$Request->Form() now reads file uploads correctly with 
  the latest CGI.pm, where $Request->Form('file_field') returns
  the actual file name uploaded, which can be used as a file handle

CHANGES  view on Meta::CPAN


 + Switched to Big-endian date format in the documentation.
   Less chance of misunderstandings

$MODULE=Apache::ASP; $VERSION = 2.61; $DATE="05/24/2008"

Please see README for changes for past versions.

 + = improvement;    - = bug fix;    (d) = documentation

 - updated for more recent mod_perl 2 environment to trigger correct loading of modules

 + loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09

 + license changes from GPL to Perl Artistic License


README  view on Meta::CPAN

    $Response->{FormFill} = 0|1
        If true, HTML forms generated by the script output will be auto filled
        with data from $Request->Form. This feature requires HTML::FillInForm to
        be installed. Please see the FormFill CONFIG for more information.

        This setting overrides the FormFill config at runtime for the script
        execution only.

    $Response->{IsClientConnected}
        1 if web client is connected, 0 if not. This value starts set to 1, and
        will be updated whenever a $Response->Flush() is called. If BufferingOn
        is set, by default $Response->Flush() will only be called at the end of
        the HTML output.

        As of version 2.23 this value is updated correctly before global.asa
        Script_OnStart is called, so global script termination may be correctly
        handled during that event, which one might want to do with excessive
        user STOP/RELOADS when the web server is very busy.

        An API extension $Response->IsClientConnected may be called for
        refreshed connection status without calling first a $Response->Flush

    $Response->{PICS}
        If this property has been set, a PICS-Label HTTP header will be sent
        with its value. For those that do not know, PICS is a header that is

README  view on Meta::CPAN

          %>

        This method could also be used to render other types of dynamic scripts,
        like XML docs using XMLSubs for example, though for complex runtime XML
        rendering, one should use something better suited like XSLT. See the
        $Server->XSLT API for more on this topic.

    $Response->IsClientConnected()
        API Extension. 1 for web client still connected, 0 if disconnected which
        might happen if the user hits the stop button. The original API for this
        $Response->{IsClientConnected} is only updated after a $Response->Flush
        is called, so this method may be called for a refreshed status.

        Note $Response->Flush calls $Response->IsClientConnected to update
        $Response->{IsClientConnected} so to use this you are going straight to
        the source! But if you are doing a loop like:

          while(@data) {
            $Response->End if ! $Response->{IsClientConnected};
            my $row = shift @data;
            %> <%= $row %> <%
            $Response->Flush;
          }

        Then its more efficient to use the member instead of the method since
        $Response->Flush() has already updated that value for you.

    $Response->Redirect($url)
        Sends the client a command to go to a different url $url. Script
        immediately ends.

    $Response->TrapInclude($file, @args)
        Calls $Response->Include() with same arguments as passed to it, but
        instead traps the include output buffer and returns it as as a perl
        string reference. This allows one to postprocess the output buffer
        before sending to the client.

README  view on Meta::CPAN

    site.

  Online Resources
    For more tips & tricks on tuning Apache and mod_perl, please see the tuning
    documents at:

      Stas Bekman's mod_perl guide
      http://perl.apache.org/guide/

    Written in late 1999 this article provides an early look at how to tune your
    Apache::ASP web site. It has since been updated to remain current with
    Apache::ASP v2.29+

      Apache::ASP Site Tuning
      http://www.apache-asp.org/articles/perlmonth3_tune.html

  Tuning & Benchmarking
    When performance tuning, it is important to have a tool to measure the
    impact of your tuning change by change. The program ab, or Apache Bench,
    provides this functionality well, and is freely included in the apache
    distribution.

README  view on Meta::CPAN


    $VERSION = 2.62; $DATE="08/16/2011"
         - Fixed 'application/x-www-form-urlencoded' for AJAX POSTs post
           Firefox 3.x

         + First sourceforge.net hosted version

         + Incremented version number to actually match SVN branch tag

    $VERSION = 2.61; $DATE="05/24/2008"
         - updated for more recent mod_perl 2 environment to trigger correct loading of modules

         + loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09

         + license changes from GPL to Perl Artistic License

    $VERSION = 2.59; $DATE="05/23/2005"
         + added "use bytes" to Response object to calculate Content-Length
           correctly for UTF8 data, which should require therefore at least
           perl version 5.6 installed

         + updated to work with latest mod_perl 2.0 module naming convention,
           thanks to Randy Kobes for patch

         + examples now exclude usage of Apache::Filter & Apache::SSI under mod_perl 2.0

    $VERSION = 2.57; $DATE="01/29/2004"
         - $Server->Transfer will update $0 correctly

         - return 0 for mod_perl handler to work with latest mod_perl 2 release
           when we were returning 200 ( HTTP_OK ) before

README  view on Meta::CPAN

           now instead of $r->cgi_header_out.  Added t/cookies.t test to 
           cover new code path as well as general $Response->Cookies API.
           Also make cookies headers sorted by cookie and dictionary key 
           while building headers for repeatable behavior, this latter was 
           to facilitate testing.

         - fixed $Server->Mail error_log output when failing to connect
           to SMTP server.

         + added tests to cover UniquePackages & NoCache configs since this
           config logic was updated

         + made deprecated warnings for use of certain $Response->Member
           calls more loudly write to error_log, so I can remove the AUTOLOAD
           for Response one day

         - Probably fixed behavior in CgiHeaders, at least under perl 5.8.0, and
           added t/cgi_headers.t to cover this config.

         + removed $Apache::ASP::CompressGzip setting ability, used to possibly
           set CompressGzip in the module before, not documented anyway

README  view on Meta::CPAN

         -XMLSubs args parsing fix so an arg like z-index
          does not error under UseStrict.  This is OK now:

           <my:layer z-index=3 top=0 left=0> HTML </my:layer>

         -Only remove outermost <SCRIPT> tags from global.asa
          for IIS/PerlScript compatibility.  Used to remove
          all <SCRIPT> tags, which hurt when some subs in globa.asa
          would be printing some JavaScript.

         +$Response->{IsClientConnected} now updated correctly 
          before global.asa Script_OnStart.  $Response->IsClientConnect()
          can be used for accurate accounting, while 
          $Response->{IsClientConnected} only gets updated
          after $Response->Flush().  Added test cases to response.t

         +$Server->HTMLEncode(\$data) API extension, now can take
          scalar ref, which can give a 5% improvement in benchmarks
          for data 100K in size.

         -Access to $Application is locked when Application_OnEnd & 
          Application_OnStart is called, creating a critical section
          for use of $Application

README  view on Meta::CPAN

          Buffering is enabled by default, as it is faster, and
          allows a script to error cleanly in the middle of execution.  

         +more bullet proof loading of Apache::Symbol, changed the 
          way Apache::ASP loads modules in general.  It used to 
          check for the module to load every time, if it hadn't loaded
          successfully before, but now it just tries once per httpd,
          so the web server will have to be restarted to see new installed
          modules.  This is just for modules that Apache::ASP relies on.

          Old modules that are changed or updated with an installation
          are still reloaded with the StatINC settings if so configured. 

         +ASP web site wraps <font face="courier new"> around <pre>
          tags now to override the other font used for the text
          areas.  The spacing was all weird in Netscape before
          for <pre> sections.

         -Fixed Content-Length calculation when using the Clean
          option, so that the length is calculated after the HTML
          is clean, not before.  This would cause a browser to 

README  view on Meta::CPAN


         +Implemented $Response->{PICS} which if set sends out a PICS-Label
          HTTP header, useful for ratings.

         +Implemented $Response->{CacheControl} and $Response->{Charset} members.
          By default, CacheControl is 'private', and this value gets sent out
          every request as HTTP header Cache-Control.  Charset appends itself
          onto the content type header.

         +Implemented $Request->BinaryRead(), $Request->{TotalBytes},
          documented them, and updated ./eg/form.asp for an example usage. 

         +Implemented $Response->BinaryWrite(), documented, and created
          and example in ./eg/binary_write.htm

         +Implemented $Server->MapPath() and created example of its use
          in ./eg/server.htm

         -$Request->Form() now reads file uploads correctly with 
          the latest CGI.pm, where $Request->Form('file_field') returns
          the actual file name uploaded, which can be used as a file handle

lib/Apache/ASP/StateManager.pm  view on Meta::CPAN

			$global_asa->ApplicationOnStart();
		    }
		    $self->{Application}->UnLock;
		} 
		$internal->UNLOCK();
	    }
	    $global_asa->SessionOnStart();
	}

	if($self->{app_state}) {
	    # The last session timeout should only be updated every group_refresh period
	    # another optimization, rand() so not all at once either
	    $internal->LOCK();
	    $last_session_timeout ||= $internal->{'LastSessionTimeout'};
	    if($last_session_timeout < $self->{session_timeout} + time + 
	       (rand() * $self->{group_refresh} / 2)) 
	      {
		  $self->{dbg} && $self->Debug("updating LastSessionTimeout from $last_session_timeout");
		  $internal->{'LastSessionTimeout'} = 
		    $self->{session_timeout} + time() + $self->{group_refresh};
	      }

site/changes.html  view on Meta::CPAN


 + First sourceforge.net hosted version

 + Incremented version number to actually match SVN branch tag
</pre></font>
	
	<p>
	<a name=%24VERSION%20%3D%202c3b7fac7></a>
	<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.61; $DATE="05/24/2008"</b></font>
<font face="courier new" size=3><pre>
 - updated for more recent mod_perl 2 environment to trigger correct loading of modules

 + loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09

 + license changes from GPL to Perl Artistic License
</pre></font>
	
	<p>
	<a name=%24VERSION%20%3D%2021803a342></a>
	<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.59; $DATE="05/23/2005"</b></font>
<font face="courier new" size=3><pre>
 + added &quot;use bytes&quot; to Response object to calculate Content-Length
   correctly for UTF8 data, which should require therefore at least
   perl version 5.6 installed

 + updated to work with latest mod_perl 2.0 module naming convention,
   thanks to Randy Kobes for patch

 + examples now exclude usage of Apache::Filter &amp; Apache::SSI under mod_perl 2.0
</pre></font>
	
	<p>
	<a name=%24VERSION%20%3D%2022aa8a3f0></a>
	<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.57; $DATE="01/29/2004"</b></font>
<font face="courier new" size=3><pre>
 - $Server-&gt;Transfer will update $0 correctly

site/changes.html  view on Meta::CPAN

   now instead of $r-&gt;cgi_header_out.  Added t/cookies.t test to 
   cover new code path as well as general $Response-&gt;Cookies API.
   Also make cookies headers sorted by cookie and dictionary key 
   while building headers for repeatable behavior, this latter was 
   to facilitate testing.

 - fixed $Server-&gt;Mail error_log output when failing to connect
   to SMTP server.

 + added tests to cover UniquePackages &amp; NoCache configs since this
   config logic was updated

 + made deprecated warnings for use of certain $Response-&gt;Member
   calls more loudly write to error_log, so I can remove the AUTOLOAD
   for Response one day

 - Probably fixed behavior in CgiHeaders, at least under perl 5.8.0, and
   added t/cgi_headers.t to cover this config.

 + removed $Apache::ASP::CompressGzip setting ability, used to possibly
   set CompressGzip in the module before, not documented anyway

site/changes.html  view on Meta::CPAN

 -XMLSubs args parsing fix so an arg like z-index
  does not error under UseStrict.  This is OK now:

   &lt;my:layer z-index=3 top=0 left=0&gt; HTML &lt;/my:layer&gt;

 -Only remove outermost &lt;SCRIPT&gt; tags from global.asa
  for IIS/PerlScript compatibility.  Used to remove
  all &lt;SCRIPT&gt; tags, which hurt when some subs in globa.asa
  would be printing some JavaScript.

 +$Response-&gt;{IsClientConnected} now updated correctly 
  before global.asa Script_OnStart.  $Response-&gt;IsClientConnect()
  can be used for accurate accounting, while 
  $Response-&gt;{IsClientConnected} only gets updated
  after $Response-&gt;Flush().  Added test cases to response.t

 +$Server-&gt;HTMLEncode(\$data) API extension, now can take
  scalar ref, which can give a 5% improvement in benchmarks
  for data 100K in size.

 -Access to $Application is locked when Application_OnEnd &amp; 
  Application_OnStart is called, creating a critical section
  for use of $Application

site/changes.html  view on Meta::CPAN

  Buffering is enabled by default, as it is faster, and
  allows a script to error cleanly in the middle of execution.  

 +more bullet proof loading of Apache::Symbol, changed the 
  way Apache::ASP loads modules in general.  It used to 
  check for the module to load every time, if it hadn&#39;t loaded
  successfully before, but now it just tries once per httpd,
  so the web server will have to be restarted to see new installed
  modules.  This is just for modules that Apache::ASP relies on.

  Old modules that are changed or updated with an installation
  are still reloaded with the StatINC settings if so configured. 

 +ASP web site wraps &lt;font face=&quot;courier new&quot;&gt; around &lt;pre&gt;
  tags now to override the other font used for the text
  areas.  The spacing was all weird in Netscape before
  for &lt;pre&gt; sections.

 -Fixed Content-Length calculation when using the Clean
  option, so that the length is calculated after the HTML
  is clean, not before.  This would cause a browser to 

site/changes.html  view on Meta::CPAN


 +Implemented $Response-&gt;{PICS} which if set sends out a PICS-Label
  HTTP header, useful for ratings.

 +Implemented $Response-&gt;{CacheControl} and $Response-&gt;{Charset} members.
  By default, CacheControl is &#39;private&#39;, and this value gets sent out
  every request as HTTP header Cache-Control.  Charset appends itself
  onto the content type header.

 +Implemented $Request-&gt;BinaryRead(), $Request-&gt;{TotalBytes},
  documented them, and updated ./eg/form.asp for an example usage. 

 +Implemented $Response-&gt;BinaryWrite(), documented, and created
  and example in ./eg/binary_write.htm

 +Implemented $Server-&gt;MapPath() and created example of its use
  in ./eg/server.htm

 -$Request-&gt;Form() now reads file uploads correctly with 
  the latest CGI.pm, where $Request-&gt;Form(&#39;file_field&#39;) returns
  the actual file name uploaded, which can be used as a file handle

site/objects.html  view on Meta::CPAN

the FormFill <a href=config.html><font size=-1 face=verdana><b>CONFIG</b></font></a> for more information.
<font face="courier new" size=3><pre>
</pre></font>This setting overrides the FormFill config at runtime
for the script execution only.</font>
	
	<p>
	<a name=%24Response-%3E%7Bf284792c></a>
	<font face=verdana><font class=title size=-1 color=#555555><b>$Response->{IsClientConnected}</b></font>
<font face="courier new" size=3><pre>
</pre></font>1 if web client is connected, 0 if not.  This value
starts set to 1, and will be updated whenever a
$Response-&gt;Flush() is called.  If BufferingOn is
set, by default $Response-&gt;Flush() will only be
called at the end of the HTML output.  
<font face="courier new" size=3><pre>
</pre></font>As of version 2.23 this value is updated correctly
before global.asa Script_OnStart is called, so 
global script termination may be correctly handled
during that event, which one might want to do 
with excessive user STOP/RELOADS when the web 
server is very busy.
<font face="courier new" size=3><pre>
</pre></font>An API extension $Response-&gt;IsClientConnected
may be called for refreshed connection status
without calling first a $Response-&gt;Flush</font>
	

site/objects.html  view on Meta::CPAN

runtime XML rendering, one should use something better suited like XSLT.
See the $Server-&gt;XSLT API for more on this topic.</font>
	
	<p>
	<a name=%24Response-%3EIbe084bb0></a>
	<font face=verdana><font class=title size=-1 color=#555555><b>$Response->IsClientConnected()</b></font>
<font face="courier new" size=3><pre>
</pre></font>API Extension.  1 for web client still connected, 0 if 
disconnected which might happen if the user hits the stop button.
The original API for this $Response-&gt;{IsClientConnected}
is only updated after a $Response-&gt;Flush is called,
so this method may be called for a refreshed status.
<font face="courier new" size=3><pre>
</pre></font>Note $Response-&gt;Flush calls $Response-&gt;IsClientConnected
to update $Response-&gt;{IsClientConnected} so to use this
you are going straight to the source!  But if you are doing
a loop like:
<font face="courier new" size=3><pre>
  while(@data) {
    $Response-&gt;End if ! $Response-&gt;{IsClientConnected};
    my $row = shift @data;
    %&gt; &lt;%= $row %&gt; &lt;%
    $Response-&gt;Flush;
  }
</pre></font>Then its more efficient to use the member instead of 
the method since $Response-&gt;Flush() has already updated
that value for you.</font>
	
	<p>
	<a name=%24Response-%3ER0203b227></a>
	<font face=verdana><font class=title size=-1 color=#555555><b>$Response->Redirect($url)</b></font>
<font face="courier new" size=3><pre>
</pre></font>Sends the client a command to go to a different url $url.  
Script immediately ends.</font>
	
	<p>

site/tuning.html  view on Meta::CPAN

	<p>
	<a name=Online%20Resou44921f06></a>
	<font face=verdana><font class=title size=+0 color=#555555><b>Online Resources</b></font>
<font face="courier new" size=3><pre>
</pre></font>For more tips &amp; tricks on tuning Apache and <a href=http://perl.apache.org><font size=-1 face=verdana><b>mod_perl</b></font></a>, please see the tuning
documents at:
<font face="courier new" size=3><pre>
  <a href="http://perl.apache.org/guide/">Stas Bekman&#39;s mod_perl guide</a>
</pre></font>Written in late 1999 this article provides an early look at 
how to tune your Apache::ASP web site.  It has since been
updated to remain current with Apache::ASP v2.29+
<font face="courier new" size=3><pre>
  <a href="http://www.apache-asp.org/articles/perlmonth3_tune.html">Apache::ASP Site Tuning</a>
</pre></font>
	
	<p>
	<a name=Tuning%20%26%20Ben0cdacf8c></a>
	<font face=verdana><font class=title size=+0 color=#555555><b>Tuning & Benchmarking</b></font>
<font face="courier new" size=3><pre>
</pre></font>When performance tuning, it is important to have a tool to
measure the impact of your tuning change by change.



( run in 0.507 second using v1.01-cache-2.11-cpan-0a6323c29d9 )