Sorry about the extra posts I was having email difficulties that day...

Everything is working fine now though. The AutoCommit = 0 fixed it all...

Thanks again for all of the help,
Boysenberry

boysenberrys.com | habitatlife.com | selfgnosis.com

On Feb 8, 2006, at 11:55 AM, Boysenberry Payne wrote:

I took out the flags and the disconnect.  I also set:
$Apache::DBI::DEBUG = 2;
to get debugging output.

I'm not getting any connection errors. (going to set mysql's max connections to 150 per server)

What I'm seeing is 37 mysql threads being created for 7 apache children. It would seem as though I would need to create a 5/1 ratio of mysql connections to apache children. Is that normal?

Thanks,
Boysenberry

boysenberrys.com | habitatlife.com | selfgnosis.com

On Feb 8, 2006, at 9:59 AM, Perrin Harkins wrote:

Boysenberry Payne wrote:
What do I need to do to fix it?

You probably just need to raise the maximum number of connections on your MySQL servers.

If you use two different database servers then you should be seeing a total number of connections on each one that matches the number of child processes running on your mod_perl server.

$self->{flags} = { 'AutoCommit' => 1, 'RaiseError' => 1 } unless $self->{flags};

Connecting with different options sometimes will lead to opening more connections rather than using an existing one. You may want to always connect with the same flags and then change them on the returned connection instead. You can use the Apache::DBI debugging switch to see if connections are being reused or not.

if( $self->{db} ) {
    my $h = $self->{db}->{dbh};
    $h->disconnect if $h;

That is pointless, since Apache::DBI doesn't allow disconnects.

- Perrin






Reply via email to