I use prefork mpm
The connection string in a startup script of each site is
Apache::DBI->connect_on_init("dbi:Oracle:SID", "login1", "pass1",{ PrintError => 0,AutoCommit => 0 }); I change only login and password for different sites. So 5 different connection strings

Interesting thing - raising the MaxClients value make the site work better, it doesn't hang, and I don't see errors on web pages, though it seems that amount of mistakes doesn't become smaller.

Geoffrey Young wrote:

Apache::DBI will cache connections on a per-connection-string basis,
once in
each child process.  so, if each connection to a database is made using a
different username each will be cached and you'll end up with
users*processes number of cached connections in total.

The problem is that connection number is greater than users*processes! I
have 5 db users(one for each of five sites) and MaxClients = 90 but the
connection count can reach 500 limit easily on workload peaks and is
willing to grow further! This sites are very heavyloaded indeed.
I use Apache 2, mp2.0.1 and Apache::DBI -0.9901

are you using the worker or prefork mpm?  are you certain that your connect
string is identical in each case (and that means identical - same AutoCommit
settings, same user/pass, same _everything_)?

--Geoff


Reply via email to