Проблема: до 400 виясщих потоков mysql - в общем случае количество соединений с базой примерно равно количеству процессов апача. Подозреваю, что дело в следующем: когда вызывается скрипт, создается новое соединение, которое живет до тех пор, пока не умрет данный процесс апача. апач и mysql живут на одном хосте. mtop показывает, что практически все соединения находятся в состоянии sleep.
Имеем скрипт вида: package WpTOP::Browser; use Apache::Constants qw(:common); use Apache::Request; use HTML::Template; use DBI; ..... my $conninfo = "DBI:mysql:database=$dbname;host=$dbhost;port=3306"; sub handler { my $dbhandler = DBI->connect($conninfo , $dbuser, $dbpass,{'RaiseError'=> 1, 'AutoCommit' => 1}) || die "Can't connect to DB:$!"; #чего-то тут делаем с запросом } sub DESTROY { $dbhandler->disconnect(); #Хотя это вобщем-то игнорируется. } Из httpd.conf PerlModule Apache::DBI PerlRequire /home/alex/startup.pl PerlFreshRestart On <VirtualHost 1.1.1.1> User user Group user ServerAdmin [EMAIL PROTECTED] DocumentRoot /home/user/site ServerName user.com ServerAlias www.user.com ErrorLog /home/user/logs/error.log CustomLog /home/user/logs/access.log full PerlModule Apache::DBI PerlModule WpTOP::Browser <Location /Browser> SetHandler perl-script PerlHandler WpTOP::Browser PerlSendHeader On </Location> <Location /View> PerlModule Apache::DBI PerlModule WpTOP::View SetHandler perl-script PerlHandler WpTOP::View PerlSendHeader On </Location> /VirtualHost> startup.pl: wptop:/home/funtus/public_html# cat /home/alex/startup.pl #!/usr/local/bin/perl -w $ENV{MOD_PERL} or die "GATEWAY_INTERFACE not Perl!"; use Apache::Registry; use Apache::DBI; #use Apache::AuthDBI; use strict; $Apache::DBI::DEBUG = 1; ......... my $conninfo = "DBI:mysql:database=$dbname;host=$dbhost;port=3306"; Apache::DBI->connect_on_init ($conninfo , $dbuser, $dbpass,{'RaiseError' => 1, 'AutoCommit' => 1});