Performance issue - modperl

This is a discussion on Performance issue - modperl ; I have an AIX 5.2 (16 GB RAM), Apache 2.2.8, MySQL 5.0.51a and mod_per 2.04 environment. I had a Perl cgi-bin program using CGI.pm that I converted to work in mod_perl. The converted script still uses CGI.pm and is now ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Performance issue

  1. Performance issue

    I have an AIX 5.2 (16 GB RAM), Apache 2.2.8, MySQL 5.0.51a and mod_per
    2.04 environment. I had a Perl cgi-bin program using CGI.pm that I
    converted to work in mod_perl. The converted script still uses CGI.pm
    and is now enabled in Apache via:

    PerlModule ModPerl::Registry
    Alias /perl/ /usr/local/apache2/perl/

    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI
    Order allow,deny
    Allow from all


    I have my startup.pl containing:

    use Apache:BI;
    use DBI();

    Called in httpd.conf with:

    PerlPostConfigRequire /usr/local/apache2/scripts/startup.pl

    Apache was compiled with --with-mpm=prefork

    All webpages are accessed using SSL. I am investigating offloading SSL,
    but that will take a few months to accomplish.

    If only a few users are using the application then performance is fine.
    By this I mean the display of a MySQL query to a webpage takes a few
    seconds. Once we get over 20 users performance degrades to about 45
    seconds.

    Any tips would be appreciated.


  2. Re: Performance issue

    Brian Gaber wrote:
    > I have an AIX 5.2 (16 GB RAM), Apache 2.2.8, MySQL 5.0.51a and mod_per
    > 2.04 environment. I had a Perl cgi-bin program using CGI.pm that I
    > converted to work in mod_perl. The converted script still uses CGI.pm
    > and is now enabled in Apache via:
    >
    > PerlModule ModPerl::Registry
    > Alias /perl/ /usr/local/apache2/perl/
    >
    > SetHandler perl-script
    > PerlResponseHandler ModPerl::Registry
    > PerlOptions +ParseHeaders
    > Options +ExecCGI
    > Order allow,deny
    > Allow from all
    >

    >
    > I have my startup.pl containing:
    >
    > use Apache:BI;
    > use DBI();
    >
    > Called in httpd.conf with:
    >
    > PerlPostConfigRequire /usr/local/apache2/scripts/startup.pl
    >
    > Apache was compiled with --with-mpm=prefork
    >
    > All webpages are accessed using SSL. I am investigating offloading SSL,
    > but that will take a few months to accomplish.
    >
    > If only a few users are using the application then performance is fine.
    > By this I mean the display of a MySQL query to a webpage takes a few
    > seconds. Once we get over 20 users performance degrades to about 45
    > seconds.
    >
    > Any tips would be appreciated.


    While a good route to optimization would be to implement Apache:Prof
    (http://search.cpan.org/dist/Apache-DB), a delay of 45 seconds is quite
    large and I am guessing that if you enabled query timing in MySQL you
    could identify the offending queries in your mysql log and start from there.

    Apache:Prof is generally good at taking your request times from 5
    seconds to 0.05 seconds, but given a 45 second delay on a page that runs
    a database query, I'd look at your database performance first.


+ Reply to Thread