On 6/16/07, Thomas den Braber <[EMAIL PROTECTED]> wrote:
I have 300 connections open ( maximum but it can happen ).
300 is nothing for MySQL. You should be able to handle a few thousand on a machine with enough RAM.
If you run many sites not all sites use their db connection, only the ones who take all the connections and are responsible for the extra forking. The idea was to use a db pool so only the sites that actually are used take from the pool of connections. I already use the Forndend-MPM-backend-Prefork Apache setup to save my expensive modperl enabled Apache from a lot of static content work.
If you already have a frontend proxy, you shouldn't have a lot of idle servers holding db connections. Assuming that your application uses the database on every mod_perl request, only processes that are actually sleeping will not be using their connection.
At the moment I am typing this I thought of an other option. Which could be the easies way. What I could do is to not use Apache::DBI with the connect_on_init option.
That is an option with MySQL, since the connect is typically very fast. It does have some overhead, but less than most databases. - Perrin