Thread: Apache child processes making multiple persistent database connections via Apache::DBI
Apache child processes making multiple persistent database connections via Apache::DBI
From
"Ben Borger"
Date:
Hello, Is it normal for Apache child threads to be opening more than one persistent database connection to Postgres? DBI 1.19, Apache::DBI 0.88 In Apache's configuration I have the maximum threads limited to 12, and Postgres is set to allow a maximum of 32 connections. No other apps or users. Periodically I receive an error that there are too many connections to the database already and the connect attempt is refused. Does this infer a programming problem or Apache/Postgresql configuration problem, or is it normal, in which case what is the recommended ratio of threads to database connections? Thanks!
Ben Borger wrote: > Hello, > > Is it normal for Apache child threads to be opening more than one > persistent > database connection to Postgres? DBI 1.19, Apache::DBI 0.88 > > > How I think it works is : Each connection to the db for a userid and an apache child results in a persistent connection. So if user1, user2 both get serviced by apache child 1, then it ends up with a persistent connection for each of them. How this problem is often circumvented is to authenticate externally, save credentials (or an id for them) in a cookie, and do all db work by means 1 synthetic database userid. best wishes Mark