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/
<Location /perl/>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Location>

I have my startup.pl containing:

use Apache::DBI;
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::DProf (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::DProf 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 via email to